Mule:如何在使用WS Consumer组件时记录SOAP有效负载

时间:2016-03-24 05:06:26

标签: mule mule-component

我使用WS Consumer组件从Mule流调用外部WS。 我想记录WS Consumer发送/接收的请求和响应的SOAP有效负载。 我怎样才能做到这一点?

2 个答案:

答案 0 :(得分:0)

尝试在log4j2.xml或log4j.xml中添加此日志处理程序,

    <AsyncLogger name="org.glassfish.grizzly" level="INFO" />
    <AsyncLogger name="org.asynchttpclient" level="INFO" />
    <AsyncLogger name="sun.net.www.protocol.http.HttpURLConnection.level" level="ALL" />
    <AsyncLogger name="org.apache.http.wire" level="ALL" />
    <AsyncLogger name="org.apache.http.client" level="ALL" />
    <AsyncLogger name="org.apache.xerces.parsers.SAXParser" level="ALL" />
    <AsyncLogger name="com.ning.http" level="ALL" />

答案 1 :(得分:0)

此问题已针对机票MULE-7501下的HTTP传输进行了解决: https://www.mulesoft.org/jira/browse/MULE-7501

因此,需要将以下行添加到log4j2.xml:

<AsyncLogger name="org.mule.module.http.internal.HttpMessageLogger" level="DEBUG"/>

不幸的是,当WS Consumer使用除HTTP之外的传输(例如JMS)时,它不起作用。

更新

使用WS Consume记录SOAP有效负载的更正确方法是按照以下描述配置CXF拦截器: http://cxf.apache.org/docs/configuration.html

这种方式适用于非http传输。