我正在使用JAX-RPC
并想知道是否有办法JAX-RPC
打印原始 SOAP 请求/响应以用于调试目的。
我看到了它的JAX-RPC
用途log4j
,但没有看到DEBUG
在发送消息之前我应该打开哪个记录器来查看消息。
如果您使用的是 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 请求匹配的特定值。