0

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

我看到了它的JAX-RPC用途log4j,但没有看到DEBUG在发送消息之前我应该​​打开哪个记录器来查看消息。

4

2 回答 2

0

我建议您实现一个Handler具有handleRequesthandleResponse方法(doc)的方法,您可以覆盖该方法来操作您的请求/响应(有关如何使用处理程序的文档)。

于 2011-12-18T08:24:12.720 回答
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 请求匹配的特定值。

于 2015-09-29T08:52:12.740 回答