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

发布于 2024-12-21 08:39:40 字数 196 浏览 1 评论 0原文

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

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

I'm using JAX-RPC and wanted to know if there is a way to make JAX-RPC print the raw SOAP Request/Response for debug purposes.

I saw that JAX-RPC uses log4j but did not see which logger I should turn on with DEBUG to view the message before it is sent.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

分開簡單 2024-12-28 08:39:40

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

I'd suggest you implement an Handler which will have an handleRequest and handleResponse method (doc) that you can override to manipulate your request/response (documentation on how to use handlers).

黑白记忆 2024-12-28 08:39:40

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

If you are using Apache Axis, here is the log4J configuration you can use:

<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>

Change MY_SPECIFIC_WSProcessRequestfor the specific value matching the XML request you want to log.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文