我正在使用JAX-RPC
并想知道是否有办法使JAX-RPC
打印原始SOAP请求/响应以用于调试目的。使用JAX-RPC记录SOAP请求/响应的原始XML
我看到JAX-RPC
使用log4j
,但没有看到我应该打开哪个记录器以DEBUG
在发送消息之前查看消息。
我正在使用JAX-RPC
并想知道是否有办法使JAX-RPC
打印原始SOAP请求/响应以用于调试目的。使用JAX-RPC记录SOAP请求/响应的原始XML
我看到JAX-RPC
使用log4j
,但没有看到我应该打开哪个记录器以DEBUG
在发送消息之前查看消息。
我建议你落实(关于如何使用处理器documentation)的Handler
这将有一个handleRequest
和handleResponse
方法(doc),您可以覆盖到操纵你的请求/响应。
如果您正在使用Apache Axis的,这里是Log4j配置,你可以使用:为匹配您要记录的XML请求的特定值
<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
。