So che è un thread vecchio, ma può essere utile per le persone in cerca di risposte.
Per la registrazione laterale del server AXIS-1, aggiornare server-config.wsdd
come di seguito. server-config.wsdd
è nella cartella WEB-INF
del file di guerra.
Un nuovo gestore per il registro. Il nome del file insieme al percorso è configurabile.
<handler name="log" type="java:org.apache.axis.handlers.LogHandler">
<parameter name="LogHandler.fileName" value="/tmp/req-res-axis.log" />
</handler>
È inoltre possibile utilizzare il parametro LogHandler.writeToConsole
con il valore come "true"
effettuare il login nel vostro registro della console.
Poi aggiornare la sezione <globalConfiguration>
di avere
<requestFlow>
<handler type="log"/>
</requestFlow>
<responseFlow>
<handler type="log"/>
</responseFlow>
Se la requestFlow
e responseFlow
contiene altri gestori, mettere il registro come il primo gestore.
Questo dovrebbe essere utilizzato solo per scopi di debug non di produzione. Poiché la registrazione è ingenua e fa la normale operazione di scrittura sul file senza alcun buffer. In secondo luogo, il file di registro crescerà in GB, poiché non esiste un meccanismo di rollover.
Per la registrazione lato client AXIS-1, aggiornare client-config.wsdd
come di seguito. Il client-config.wsdd
dovrebbe entrare nel tuo classpath
direttamente sotto una cartella radice configurata nel classpath
non in qualsiasi sottocartelle. La posizione migliore è la stessa directory in cui è presente il file log4j.xml
o log4j.properties
(grazie al post di #MukeshKoshyM sopra).
<deployment xmlns="http://xml.apache.org/axis/wsdd/" xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">
<handler name="log" type="java:org.apache.axis.handlers.LogHandler" >
<parameter name="LogHandler.fileName" value="/tmp/axis_req_res.log"/>
</handler>
<globalConfiguration>
<requestFlow>
<handler type="log" />
</requestFlow>
<responseFlow>
<handler type="log" />
</responseFlow>
</globalConfiguration>
<transport name="http"
pivot="java:org.apache.axis.transport.http.HTTPSender" />
</deployment>
Lo stesso problema menzionato per la registrazione lato server è applicabile anche per il lato client.
Per la produzione, scrivere il proprio gestore di registri estendendo org.apache.axis.handlers.BasicHandler
e configurare il file di classe nel gestore. Si prega di guardare la risposta di cui sopra da #raspayu per configurare il proprio. Per registrare gli errori, sostituire il metodo public void onFault(MessageContext msgContext)
nel gestore.
Ho trovato il tuo post molto utile. Sto lottando per ottenere la risposta XML. Sono in grado di ottenere la richiesta, ma la risposta SOAP non si ottiene, infatti il metodo invoke sta invocando solo in fase di richiesta. Ho fatto tutte le configurazioni suggerite.Inoltre, quando aggiungo le voci nella configurazione globale per la richiesta e la risposta, solo ricevo sia la richiesta che la risposta ma all'interno del tag di trasporto, sto ricevendo solo la richiesta e nessuna risposta. – Jayesh
Sto usando TestNG e selenio. Dove dovrei aggiungere il gestore? In pom.xml o TestNG.xml? – R11G
Ho trovato questa risposta molto utile ma con questo non riesco a registrare soapfault (eccezione). Si prega di suggerire un modo per fare lo stesso.ho tag faultFlow ma non funziona –