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
--
View this message in context:
http://www.nabble.com/creating-a-pipeline-starting-with-a-WebServiceProvider-tp23857321p23857321.html
Sent from the Camel - Users mailing list archive at Nabble.com.