camel-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "aswin.nair" <>
Subject Re: Camel CXF Spring Tomcat configuration
Date Sat, 09 Feb 2008 02:32:10 GMT

Hello Willem,

willem.jiang wrote:
> After I went through your mail , I think you are already starting the 
> servlet transport for CXF
> by loading the bus with the CXF Servlet transport.
 Yes I had the servlet transport working after I changed the service name of
the Camel CXF component from cfx to camelcfx. I think we can configure the
endpoints using the camel configuration for that, but if we need to import
the default CXF configurations we may have the conflict. 

willem.jiang wrote:
> To be honestly , I do not write any test code for the WebServiceProvider 
> in camel-cxf component.
> So you may meet some trouble when  you start up the WebServiceProvider  
> in  camel context,
> and patches are welcomed :)

willem.jiang wrote:
> 1. Starting the CXF endpoint by call the JAXWS API (not by starting 
> camel context in spring)
> 2. Then starting the camel context in your Provider implement code (you 
> could start the camel
> context here), and routing the message to various processors
We already have a similar thing, but I think the approach like what you have
for the WebService SEI would be really nice as the routes would be more

willem.jiang wrote:
> Here are my answers for your questions in the mail
> 1) For the SEI
> In camel-cxf component , we mainly use SEI to look for the type class 
> information for XML message
> If you just use the WebServiceProvider , you just need to implement an 
> invoke API in your implement
>  class. The business function could let invoke method to deal with.
Okay. This was the stuff confusing me and now I got it. So the SEI method
would not be invoked (by default) by Camel but instead be forwarded to the
route. I think the same could be done for the WebServiceProvider SEIs also
with some minor modifications to Camel CXF classes. 

willem.jiang wrote:
> 2) For the Serlvet transport.
> Since CXF will load the jetty engine to start up the http listener by 
> default, you need to load the bus
> with CXF serlvet transport, you can went thought the CXF wiki[1] for 
> more information.
> Now, you already did it by letting the Spring configuration context 
> import the
> classpath:META-INF/cxf/cxf-servlet.xml
> [1]
Yes, this would work, but we have to change the service name of the CFX
component to be something other than "cfx". Alternatively I think we can
create a new cfx-configuration file with different names for the default bus
and referring that like following 
 	<cxf:cxfEndpoint id="SimpleServiceEndpoint" 
    	    bus="newbus" >    	     

Please correct me if I wrong in any of these. I would try making changes to
the Camel CXF classes if you think it would be a good thing to have.


View this message in context:
Sent from the Camel - Users mailing list archive at

View raw message