我正在使用JAX-RPC,我想知道是否有一种方法可以让JAX-RPC打印原始的SOAP请求/响应以进行调试。
我看到JAX-RPC使用log4j,但没有看到我应该用DEBUG打开哪个记录器,以便在发送消息之前查看消息。
发布于 2011-12-18 16:24:13
我建议您实现一个Handler,它将具有一个handleRequest和handleResponse方法(doc),您可以重写该方法来操作您的请求/响应(关于如何使用处理程序的documentation)。
发布于 2015-09-29 16:52:13
如果您正在使用Apache Axis,下面是您可以使用的log4J配置:
<appender name="wsAppender" class="org.apache.log4j.RollingFileAppender">
<param name="File" value="${catalina.base}/logs/MY_APP-ws.log" />
<param name="Append" value="true" />
<param name="MaxFileSize" value="20MB" />
<param name="MaxBackupIndex" value="10" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d %m%n" />
</layout>
<filter class="org.apache.log4j.varia.StringMatchFilter">
<param name="StringToMatch" value="MY_SPECIFIC_WSProcessRequest" />
<param name="AcceptOnMatch" value="true" />
</filter>
<filter class="org.apache.log4j.varia.DenyAllFilter"/>
</appender>
<logger name="org.apache.axis.transport.http.HTTPSender" additivity="false">
<level value="DEBUG" />
<appender-ref ref="wsAppender"/>
</logger>将MY_SPECIFIC_WSProcessRequest更改为与要记录的XML请求相匹配的特定值。
https://stackoverflow.com/questions/8517571
复制相似问题