Hi Claus, It's interesting, and, definitely, it makes sense.
Regarding the implementation, I remember that Christian Schneider talked about a "change" in CXF to enhance the logging. If I remember well, he talked about shipping logging in in/out by default, and enabling it by configuration (if I understood right ;)).
Regards JB On 11/08/2011 11:36 AM, Claus Ibsen wrote:
Hi When working with camel-cxf, you can get pretty fast setup with the Camel cxfEndpoint element as shown: For example to call the famous weather web service <cxf:cxfEndpoint id="weatherWebService" address="http://www.webservicex.net/globalweather.asmx" endpointName="s:GlobalWeatherSoap" serviceName="s:GlobalWeather" wsdlURL="http://www.webservicex.net/globalweather.asmx?WSDL" xmlns:s="http://www.webserviceX.NET"> However to enabling logging of INBOUND and OUTBOUND messages with CXF, you need to thinker with interceptors. And IMHO that is a bit PITA as its kinda hard to remember all the mighty XML stuff you need to add, just to see what is send out and comes back in the console / logs. Currently you would have to added these 4 interceptors, and remember also what the class names of the interceptor bean is <cxf:cxfEndpoint id="weatherWebService" address="http://www.webservicex.net/globalweather.asmx" endpointName="s:GlobalWeatherSoap" serviceName="s:GlobalWeather" wsdlURL="http://www.webservicex.net/globalweather.asmx?WSDL" xmlns:s="http://www.webserviceX.NET"> <cxf:inInterceptors> <bean class="org.apache.cxf.interceptor.LoggingInInterceptor"/> </cxf:inInterceptors> <cxf:inFaultInterceptors> <bean class="org.apache.cxf.interceptor.LoggingInInterceptor"/> </cxf:inFaultInterceptors> <cxf:outInterceptors> <bean class="org.apache.cxf.interceptor.LoggingOutInterceptor"/> </cxf:outInterceptors> <cxf:outFaultInterceptors> <bean class="org.apache.cxf.interceptor.LoggingOutInterceptor"/> </cxf:outFaultInterceptors> </cxf:cxfEndpoint> Thats is a lot of XML just to play with a web service. It would be much easier if there was a attribute that could setup these logging interceptors for you out of the box. So all you have to do was set logging attribute to true. <cxf:cxfEndpoint id="weatherWebService" logging="true" address="http://www.webservicex.net/globalweather.asmx" endpointName="s:GlobalWeatherSoap" serviceName="s:GlobalWeather" wsdlURL="http://www.webservicex.net/globalweather.asmx?WSDL" xmlns:s="http://www.webserviceX.NET"> Any thoughts?
-- Jean-Baptiste Onofré jbono...@apache.org http://blog.nanthrax.net Talend - http://www.talend.com