使用JAX-RPC记录SOAP请求/响应的原始XML

时间:2011-12-15 09:09:12

标签: java debugging soap jax-rpc

我正在使用JAX-RPC并想知道是否有办法让JAX-RPC打印原始SOAP请求/响应以进行调试。

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

1 个答案:

答案 0 :(得分:0)

如果您使用的是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请求相匹配的特定值。