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.
