mule cxf logging

时间:2012-06-15 03:52:22

标签: cxf mule

我在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>

2 个答案:

答案 0 :(得分:2)

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

所以enable full wire logging for Commons HttpClient,您将看到远程服务器发送和接收的完整HTTP帧。

答案 1 :(得分: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>