Log axis2 demandes et réponses des clients
j'aimerais enregistrer toutes les requêtes/réponses faites par un client axis2.
J'ai essayé de créer un fichier appelé client-config.wsdd
Comme dà © crivant dans http://code.google.com/support/bin/answer.py?hl=en&answer=15137 mais sans succès (Je ne reçois pas de fichier journal).
les requêtes sont faites via https et je ne suis pas sûr que ce soit important. J'ai essayé
<transport name="http" pivot="java:org.apache.axis.transport.http.HTTPSender"/>
et
<transport name="https" pivot="java:org.apache.axis.transport.http.HTTPSender"/>
sans succès.
5 réponses
pour Axis2-journalisation côté client pour les messages SOAP, il suffit d'utiliser les arguments JVM suivants pendant l'exécution de votre client autonome ou d'inclure cette VM args dans votre Appln. Démarrage du serveur de script,
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
je sais que c'est un peu verbeux, mais voici comment nous avons résolu:
SOAPFactory factory = OMAbstractFactory.getSOAP12Factory();
OMElement requestElement = request.getOMElement(RegisterIntegrationAgent.MY_QNAME, factory);
LOGGER.debug(requestElement);
si vous ajoutez les lignes ci-dessous à votre log4j.propriétés, Vous n'aurez pas besoin de passer de paramètres VM ou JVM.
log4j.logger.httpclient.fil.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
j'enregistre normalement juste le corps du message SOAP, passé à ma classe de service.
public OMElement myOperation(OMElement request) throws AxisFault {
log.debug("Request: {}", request);
..
log.debug("Response: {}", response);
return response
}
Low tech mais qui fonctionne pour moi :-)
- Dorg.Apache.commun.journalisation.Log=org.Apache.commun.journalisation.impl.SimpleLog-Dorg.Apache.commun.journalisation.simplelog.showdatetime=true-Dorg.Apache.commun.journalisation.simplelog.journal.httpclient.wire=debug-Dorg.apache.commons.exploitation forestière.simplelog.log.org.apache.commons.httpclient=debug
Cela a fonctionné