2011-12-15 59 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