我使用WS Consumer组件从Mule流调用外部WS。 我想记录WS Consumer发送/接收的请求和响应的SOAP有效负载。 我怎样才能做到这一点?
答案 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传输。