2010-03-26 10 views
16

Me gustaría registrar todas las solicitudes/respuestas realizadas por un cliente axis2. Intenté crear un archivo llamado client-config.wsdd como descriptor en http://code.google.com/support/bin/answer.py?hl=en&answer=15137 pero sin éxito (no obtengo un archivo de registro).Registrar las solicitudes y las respuestas del cliente del eje2

Las solicitudes se realizan a través de https y no estoy seguro si es importante. Probé

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

y

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

sin éxito.

+0

no funciona para mí también. probablemente era cierto para versiones anteriores (es decir, el eje v1) – maayank

Respuesta

32

Para Axis2-cliente tala lado de los mensajes SOAP, sólo tiene que utilizar los siguientes argumentos de JVM durante la ejecución de su cliente independiente o incluir esta args VM en el la Solicitud. script de inicio del servidor,

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: el nombre de mi héroe hoy. – Kieveli

+0

para ejecutarlo en Eclipse, escribir los parámetros en las configuraciones de depuración/configuraciones de ejecución en argumentos de VM –

+0

Si ya está utilizando registrador log4j: log4j.logger.org.apache.commons.httpclient = depuración log4j.logger.httpclient .wire = depuración –

0

Normalmente solo registro el cuerpo del mensaje SOAP, pasado a mi clase de servicio.

public OMElement myOperation(OMElement request) throws AxisFault { 

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

    .. 

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

    return response 
} 

baja tecnología, pero funciona para mí :-)

+0

Gracias, estoy buscando el registro de clientes. –

+0

Según lo mencionado por Manuel, esto es aplicable solo para el lado del servidor – maayank

1

Sé que es un poco prolijo, pero así es como hemos resuelto que:

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 = depuración -Dorg.apache.commons.logging.simplelog.log.org.apache.commons.httpclient = depuración

Esto funcionó

+5

Duplicado de la respuesta de 2 años –

+0

No del todo. Incluye el patrón httpclient.wire, que registra los datos del cable. – Scott

1

Si agrega las líneas siguientes para su log4j archivo .properties, no necesitará pasar ningún parámetro de 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 
Cuestiones relacionadas