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.

Reply via email to