Използвам Apache CXF Framework. В моята клиентска програма трябва да регистрирам 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
в лог файла.
Може ли някой да ми каже как да конфигурирам това?