2010-03-26 10 views
16

Vorrei registrare tutte le richieste/risposte fatte da un client asse2. Ho provato a creare un file chiamato client-config.wsdd come descrittore in http://code.google.com/support/bin/answer.py?hl=en&answer=15137 ma senza successo (non ho un file di registro).Richieste e risposte client del registro asse 2

Le richieste vengono inoltrate su https e non sono sicuro che sia importante. Ho provato

<transport name="http" pivot="java:org.apache.axis.transport.http.HTTPSender"/> 

e

<transport name="https" pivot="java:org.apache.axis.transport.http.HTTPSender"/> 

senza successo.

+0

non funziona per me. probabilmente era vero per le versioni precedenti (ad esempio l'asse v1) – maayank

risposta

32

Per la registrazione lato Axis2-client per i messaggi SOAP, basta usare i seguenti argomenti JVM durante l'esecuzione il vostro client stand-alone o includere questo args VM nel vostro Appln. script di avvio del server,

JAVA_OPTS=-Dorg.apache.commons.logging.Log=org.apache.commons.logging.impl.SimpleLog -Dorg.apache.commons.logging.simplelog.showdatetime=true -Dorg.apache.commons.logging.simplelog.log.httpclient.wire=debug -Dorg.apache.commons.logging.simplelog.log.org.apache.commons.httpclient=debug 

C: \ java% JAVA_OPTS% YourClientAppln.java

Cheers, Sankar

+0

Sankar: il nome del mio eroe oggi. – Kieveli

+0

Per eseguirlo in Eclipse, scrivere i parametri della configurazione di debug/configurazioni eseguito in argomenti VM –

+0

Se si sta già utilizzando log4j logger: log4j.logger.org.apache.commons.httpclient = di debug log4j.logger.httpclient .wire = debug –

0

Normalmente accedo solo al corpo del messaggio SOAP, passato alla mia classe di servizio.

public OMElement myOperation(OMElement request) throws AxisFault { 

    log.debug("Request: {}", request); 

    .. 

    log.debug("Response: {}", response); 

    return response 
} 

low tech, ma funziona per me :-)

+0

Grazie. Sto cercando la registrazione del client. –

+0

Come menzionato da Manuel, questo è applicabile solo per il lato server – maayank

1

Lo so che è un po 'prolisso, ma ecco come abbiamo risolto:

SOAPFactory factory = OMAbstractFactory.getSOAP12Factory(); 
OMElement requestElement = request.getOMElement(RegisterIntegrationAgent.MY_QNAME, factory); 
LOGGER.debug(requestElement); 
0

-Dorg.apache.commons.logging.Log = org.apache.commons.logging.impl.SimpleLog -Dorg.apache.commons.logging.simplelog.showdatetime = true -Dorg.apache.commons.logging.simple log.log.httpclient.wire = di debug -Dorg.apache.commons.logging.simplelog.log.org.apache.commons.httpclient = di debug

Questo ha funzionato

+5

Duplicato della risposta di 2 anni –

+0

Non proprio. Include il pattern httpclient.wire, che registra i dati del filo. – Scott

1

Se si aggiungono le linee di seguito per il vostro log4j .properties, non è necessario passare alcun parametro VM o JVM.

log4j.logger.httpclient.wire.content = DEBUG, Axis3LogFile

#Axis2 
log4j.appender.Axis2LogFile=org.apache.log4j.RollingFileAppender 
log4j.appender.Axis2LogFile.File=${catalina.base}/logs/Axis2-client.log 
log4j.appender.Axis3LogFile.layout=org.apache.log4j.PatternLayout 
log4j.appender.Axis3LogFile.layout.ConversionPattern=%d{ISO8601} [%X{UUID}] %5p %t %c{1} - %m%n 
Problemi correlati