1

我在 mule 中有一个 SOAP 客户端流,并且我添加了 cxf 拦截器来查看请求响应。有没有办法在 mule 配置中查看确切的 HTTP 请求响应?

这是我的流程代码:

<http:outbound-endpoint address="http://84.19.253.166/service.asmx" method="POST" >
        <cxf:jaxws-client
        enableMuleSoapHeaders="false" 
        clientClass="org.tempuri.Service" 
        port= "ServiceSoap" 
        wsdlLocation="classpath:service.wsdl" 
        operation="ProcessRequest" 
        >
        <cxf:inInterceptors>
        <spring:bean class="org.apache.cxf.interceptor.LoggingInInterceptor" />
        </cxf:inInterceptors>
<cxf:outInterceptors>
    <spring:bean class="org.apache.cxf.interceptor.LoggingOutInterceptor"/>
</cxf:outInterceptors>    
     </cxf:jaxws-client>
     </http:outbound-endpoint>
4

2 回答 2

2

Mule 3 当前的 HTTP 连接器使用 Commons HttpClient 3.x 进行出站调度。

因此,为 Commons HttpClient 启用完整的线路日志记录,您将看到远程服务器发送和接收的完整 HTTP 帧。

于 2012-06-15T15:43:50.087 回答
0

我强烈建议在 log4j2.xml 中添加一个简单的行

  <AsyncLogger name="org.apache.cxf" level="INFO"/>

您可以在级别范围内的几个选项之间进行选择(INFO、WARN、DEBUG 等)

如果要将日志保存到其他文件,只需简单输入:

<AppenderRef ref="cxf_logs" />

但记得添加 File-Appender

<Appenders>
<RollingFile name="cxf_logs" fileName="${sys:mule.home}${sys:file.separator}logs${sys:file.separator}your-interfaces-cxf.log" 
             filePattern="${sys:mule.home}${sys:file.separator}logs${sys:file.separator}your-interfaces-cxf-%i.log">
        <PatternLayout pattern="%d [%t] %-5p %c - %m%n" />
        <SizeBasedTriggeringPolicy size="10 MB" />
        <DefaultRolloverStrategy max="10"/>
    </RollingFile>
   </Appenders>
于 2016-11-03T12:24:15.573 回答