Sé que es un hilo antiguo, pero puede ser útil para las personas que buscan respuestas.
Para el registro del lado del servidor AXIS-1, actualice su server-config.wsdd
como a continuación. server-config.wsdd
está bajo la carpeta WEB-INF
de su archivo war.
Un nuevo controlador para el registro. El nombre del archivo junto con la ruta es configurable.
<handler name="log" type="java:org.apache.axis.handlers.LogHandler">
<parameter name="LogHandler.fileName" value="/tmp/req-res-axis.log" />
</handler>
También puede utilizar el parámetro con el valor LogHandler.writeToConsole
como "true"
para iniciar la sesión en su registro de la consola.
A continuación, actualice la sección <globalConfiguration>
tener
<requestFlow>
<handler type="log"/>
</requestFlow>
<responseFlow>
<handler type="log"/>
</responseFlow>
Si el requestFlow
responseFlow
y contiene otros controladores, ponga el registro como el primer controlador.
Esto solo debe utilizarse para fines de depuración, no para producción. Dado que el registro es ingenuo y realiza la operación de escritura normal en el archivo sin ningún buffer. En segundo lugar, el archivo de registro crecerá a GB, ya que no hay mecanismo de sustitución.
Para el registro del lado del cliente AXIS-1, actualice su client-config.wsdd
como a continuación. El client-config.wsdd
debe ir a su classpath
directamente debajo de una carpeta raíz configurada en el classpath
no en ninguna subcarpeta. La mejor ubicación es el mismo directorio donde está presente su archivo log4j.xml
o log4j.properties
(Gracias a la publicación #MukeshKoshyM anterior).
<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>
El mismo problema mencionado para el registro del lado del servidor también es aplicable para el lado del cliente.
Para la producción, escriba su propio controlador de registro extendiendo org.apache.axis.handlers.BasicHandler
y configure el archivo de clase en el controlador. Por favor, mire la respuesta anterior de #raspayu para configurar la suya propia. Para registrar las fallas anule el método public void onFault(MessageContext msgContext)
en su Manejador.
Encontré tu publicación muy útil. Estoy luchando para obtener respuesta XML. Puedo obtener la solicitud pero la respuesta SOAP no está obteniendo, de hecho el método de invocación está invocando solo en la fase de solicitud. He hecho toda la configuración sugerida.Además, cuando agrego entradas en la configuración global para solicitar y responder, solo recibo tanto la solicitud como la respuesta, pero dentro de la etiqueta de transporte, recibo solo la solicitud y no recibo respuesta. – Jayesh
Estoy usando TestNG y Selenio. ¿Dónde debería agregar el controlador? En pom.xml o TestNG.xml? – R11G
Encontré esta respuesta muy útil, pero con esto no puedo registrar el error de excepción (excepción). Sugerimos una forma de hacer lo mismo. Tengo la etiqueta faultFlow pero no funciona –