Hi Steve

The solution depends on what you want to do with the soap message.
If you just want to leverage the Tomcat servlet transport and don't want
to get touch with SOAP message, you don't have to use the
WebServiceProvider.

You can create the camel context with the Pipeline that you want create
in the ServiceImpl and export this ServiceImpl as a Web Services. Claus
wrote a great tutorial for it[1] and you may take a look :)

[1] http://cwiki.apache.org/CAMEL/tutorial-example-reportincident-part5.html

Willem

stevenmaring wrote:
> I like the simplicity afforded by the camel transport with CXF.  However, I'm
> stuck with Tomcat instead of Jetty, so from what I understand I need to
> create a WebServiceProvider and use the servlet transport.
> 
> My end goals is basically a pipeline that looks like this:
> 
> --> web service --> jms queue --> pojo --> jms queue --> web service client
> -->
> 
> ... but I don't see a way to create a route that would take the body of my
> soap message and pass it on to the queue after the first step.  Do I need to
> just start a new route using a ProducerTemplate from my pojo that processes
> the soap request?
> 
> 
>       <camel:camelContext id="camel">
>               <camel:route>
>                       <camel:from uri="cxf:bean:voiceRequestSOAPEndpoint"/>
>                       <camel:to
> uri="bean:voiceRequestSOAPProcessor?method=processSOAPRequest"/>
>                </camel:route>
>       </camel:camelContext>
> 
>       <bean id="voiceRequestSOAPProcessor"
> class="com.ess.tts.voicerequest.provider.VoiceRequestSOAPProcessor" />
> 
>       <cxf:cxfEndpoint id="voiceRequestSOAPEndpoint"
>              
> serviceClass="com.ess.tts.voicerequest.provider.VoiceRequestProvider"
>               address="http://localhost:8080/voicing/voiceRequestSOAP";
>                     wsdlURL="wsdl/voiceRequest.wsdl"
>                     endpointName="s:voiceRequestSOAPEndpoint"
>                     serviceName="s:voiceRequestSOAPService"
>               xmlns:s="http://tts.ess.com/voiceRequest/"/>
> 
> If that is the case, that I need to start a new route, then is this
> WebServiceProvider approach really buying me anything with Camel?  It seems
> to me that creating a jaxws WebService endpoint with the CXF jaxws spring
> configuration is a bit more straight-forward (no SOAP envelope
> manipulation). http://cwiki.apache.org/CXF20DOC/jax-ws-configuration.html
> 
> Am I wrong in this thinking or am I missing something fundamental here?
> 
> Thanks.
> 
> -Steve Maring

Reply via email to