camel-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Claus Ibsen <claus.ib...@gmail.com>
Subject Re: [IDEA] - camel-cxf, make it easier to enable logging in/out
Date Wed, 09 Nov 2011 08:31:08 GMT
On Tue, Nov 8, 2011 at 7:41 PM, Jean-Baptiste Onofré <jb@nanthrax.net> wrote:
> 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 ;)).
>

Yeah that would be a bonus :). Then you can with karaf shell / JMX
etc. enable / disable the logging on the fly.
The Camel Tracer is like that. Its included by default, but disabled.

> 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é
> jbonofre@apache.org
> http://blog.nanthrax.net
> Talend - http://www.talend.com
>



-- 
Claus Ibsen
-----------------
FuseSource
Email: cibsen@fusesource.com
Web: http://fusesource.com
Twitter: davsclaus, fusenews
Blog: http://davsclaus.blogspot.com/
Author of Camel in Action: http://www.manning.com/ibsen/

Mime
View raw message