Mule:使用 WS Consumer 组件时如何记录 SOAP 负载
Mule: how to log SOAP payloads when using WS Consumer component
我正在使用 WS Consumer 组件从 Mule 流中调用外部 WS。
我想记录 WS 消费者请求和响应 sent/received 的 SOAP 负载。
我怎样才能做到这一点?
尝试在 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" />
此问题已针对票据 MULE-7501 下的 HTTP 传输得到解决:
https://www.mulesoft.org/jira/browse/MULE-7501
因此,需要将以下行添加到 log4j2.xml:
<AsyncLogger name="org.mule.module.http.internal.HttpMessageLogger" level="DEBUG"/>
不幸的是,当 WS 消费者使用 HTTP 以外的传输(例如 JMS)时它不起作用。
更新:
使用 WS Consume 记录 SOAP 负载的更正确方法是按照以下描述配置 CXF 拦截器:
http://cxf.apache.org/docs/configuration.html
这种方式适用于非 http 传输。
我正在使用 WS Consumer 组件从 Mule 流中调用外部 WS。 我想记录 WS 消费者请求和响应 sent/received 的 SOAP 负载。 我怎样才能做到这一点?
尝试在 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" />
此问题已针对票据 MULE-7501 下的 HTTP 传输得到解决: https://www.mulesoft.org/jira/browse/MULE-7501
因此,需要将以下行添加到 log4j2.xml:
<AsyncLogger name="org.mule.module.http.internal.HttpMessageLogger" level="DEBUG"/>
不幸的是,当 WS 消费者使用 HTTP 以外的传输(例如 JMS)时它不起作用。
更新:
使用 WS Consume 记录 SOAP 负载的更正确方法是按照以下描述配置 CXF 拦截器: http://cxf.apache.org/docs/configuration.html
这种方式适用于非 http 传输。