Java 记录axis2客户端请求和响应

Java 记录axis2客户端请求和响应,java,web-services,axis2,Java,Web Services,Axis2,我想记录axis2客户端发出的所有请求/响应。 我试图按照中的描述创建一个名为client config.wsdd的文件,但没有成功(我没有得到日志文件) 请求是通过https进行的,我不确定这是否重要。我试过了 <transport name="http" pivot="java:org.apache.axis.transport.http.HTTPSender"/> 及 没有成功。我通常只记录SOAP消息的主体,传递给我的服务类 public OMElement myO

我想记录axis2客户端发出的所有请求/响应。 我试图按照中的描述创建一个名为
client config.wsdd
的文件,但没有成功(我没有得到日志文件)

请求是通过https进行的,我不确定这是否重要。我试过了

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



没有成功。

我通常只记录SOAP消息的主体,传递给我的服务类

public OMElement myOperation(OMElement request) throws AxisFault {

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

    ..

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

    return response
}

低技术但对我有效:-)

对于Axis2客户端SOAP消息的日志记录,在运行独立客户端时只需使用以下JVM参数,或者在应用程序中包含此VM参数。服务器启动脚本

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\u选择%YourClientAppln.java

干杯,
Sankar

我知道这有点冗长,但我们是如何解决的:

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

-Dorg.apache.commons.logging.Log=org.apache.commons.logging.SimpleLog.apache.commons.logging.SimpleLog.showdatetime=true-Dorg.apache.commons.logging.SimpleLog.httpclient.wire=debug-Dorg.apache.commons.logging.SimpleLog.org.apache.commons.httpclient=debug


如果将下面的行添加到log4j.properties文件中,则不需要传递任何VM或JVM参数

#Axis2
log4j.appender.AxisLogFile=org.apache.log4j.RollingFileAppender
log4j.appender.AxisLogFile.File=${catalina.base}/logs/Axis-client.log
log4j.appender.AxisLogFile.layout=org.apache.log4j.PatternLayout
log4j.appender.AxisLogFile.layout.ConversionPattern=%d{ISO8601} [%X{UUID}] %5p %t %c{1} - %m%n
log4j.logger.httpclient.wire=DEBUG,AxisLogFile

谢谢你,我正在寻找客户端日志记录。正如Manuel提到的,这只适用于服务器端,但对我来说并不适用。早期版本(即axis v1)Sankar可能是这样的:今天我的英雄的名字,如果您已经在使用log4j logger:log4j.logger.org.apache.commons.httpclient=Debug log4j.logger.httpclient.wire=Debug两年前的答案的副本,请在VM参数的调试配置/运行配置中写入这些参数。它包括httpclient.wire模式,该模式记录有线数据。@Scott:您所说的模式包含在2(现在是8)年前的答案中
#Axis2
log4j.appender.AxisLogFile=org.apache.log4j.RollingFileAppender
log4j.appender.AxisLogFile.File=${catalina.base}/logs/Axis-client.log
log4j.appender.AxisLogFile.layout=org.apache.log4j.PatternLayout
log4j.appender.AxisLogFile.layout.ConversionPattern=%d{ISO8601} [%X{UUID}] %5p %t %c{1} - %m%n
log4j.logger.httpclient.wire=DEBUG,AxisLogFile