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