2011-12-15 114 views
0

我正在使用JAX-RPC并想知道是否有办法使JAX-RPC打印原始SOAP请求/响应以用于调试目的。使用JAX-RPC记录SOAP请求/响应的原始XML

我看到JAX-RPC使用log4j,但没有看到我应该打开哪个记录器以DEBUG在发送消息之前查看消息。

回答

0

我建议你落实(关于如何使用处理器documentation)的Handler这将有一个handleRequesthandleResponse方法(doc),您可以覆盖到操纵你的请求/响应。

0

如果您正在使用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