【发布时间】:2011-11-09 13:31:29
【问题描述】:
我正在使用 Apache CXF 框架。 在我的客户端程序中,我需要记录 CXF SOAP 请求和 SOAP 响应。 当我使用
JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean();
factory.setAddress(host);
factory.setServiceClass(MyService.class);
factory.getInInterceptors().add(new LoggingInInterceptor());
factory.getOutInterceptors().add(new LoggingOutInterceptor());
我在控制台中收到了这些 SOAP 请求和 SOAP 响应:
Nov 9, 2011 6:48:01 PM org.apache.cxf.interceptor.LoggingOutInterceptor$LoggingCallback onClose
INFO: Outbound Message
---------------------------
ID: 2
Encoding: UTF-8
Content-Type: text/xml
Headers: {}
Payload: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"><soap:Body><ns4:MYResponse
--------------------------------------
但我的实际要求是,我需要将它们放在日志文件中,而不是将它们打印到服务器控制台。
当我如图所示直接使用log4j时
log4j(factory.getInInterceptors().add(new LoggingInInterceptor()));
log4j(factory.getOutInterceptors().add(new LoggingOutInterceptor()));
它只在日志文件中打印true 和true。
谁能告诉我如何配置这个?
【问题讨论】:
-
这里讨论过同样的问题:stackoverflow.com/questions/4592422/…