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