camel-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "aswin.nair" <matrixn...@gmail.com>
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 :)
> 
Sure. 


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
descriptive.


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] http://cwiki.apache.org/CXF20DOC/index.html
> 
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" 
 	        serviceClass="org.aswin.services.SimpleServicesProvider"
 			address="/SimpleService" 	    
    		wsdlURL="WEB-INF/wsdl/SimpleService.wsdl"    		     		
    		endpointName="s:SimpleWebServicePort" 
    		serviceName="s:SimpleWebService"     		  
    	    xmlns:s="http://services.aswin.org/soap"
    	    bus="newbus" >    	     
    </cxf:cxfEndpoint>     

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.

Thanks
Aswin


-- 
View this message in context: http://www.nabble.com/Camel-CXF-Spring-Tomcat-configuration-tp15350144s22882p15367833.html
Sent from the Camel - Users mailing list archive at Nabble.com.


Mime
View raw message