【发布时间】:2016-03-31 18:10:44
【问题描述】:
我正在使用 WS Consumer 组件从 Mule 流中调用外部 WS。 我想记录 WS Consumer 发送/接收的请求和响应的 SOAP 有效负载。 我怎样才能做到这一点?
【问题讨论】:
标签: mule mule-component
我正在使用 WS Consumer 组件从 Mule 流中调用外部 WS。 我想记录 WS Consumer 发送/接收的请求和响应的 SOAP 有效负载。 我怎样才能做到这一点?
【问题讨论】:
标签: mule mule-component
此问题已针对 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 传输。
【讨论】:
尝试在 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" />
【讨论】: