Hi,

Sounds very convenient.

Special care must be taken when dataFormat=MESSAGE
(http://camel.apache.org/cxf.html#CXF-HowtoenableCXF%2527sLoggingOutInterce
ptorinMESSAGEmode).

Shall we also allow the user to specify the limit, as per the
Logging*Interceptor(int) constructors? Otherwise, it defaults to 100 bytes.

Regards,
Raúl.


On 08/11/2011 10:43, "Willem Jiang" <willem.ji...@gmail.com> wrote:

>Hi Claus,
>
>CXF has the log feature can avoid us to configure lots of interceptors.
>but it could be more handy if we add an attribute on the cxfEndpoint.
>
>+1 for this idea.
>
>
>On Tue Nov  8 18:36:27 2011, 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?
>>
>>
>>
>
>
>
>-- 
>Willem
>----------------------------------
>FuseSource
>Web: http://www.fusesource.com
>Blog:    http://willemjiang.blogspot.com (English)
>         http://jnn.javaeye.com (Chinese)
>Twitter: willemjiang
>Weibo: willemjiang
>


Reply via email to