Details
-
Task
-
Resolution: Done
-
Major
-
None
-
2.4.0-fuse-02-00
-
None
-
None
Description
I need a camel route that receives a one-way JMS message, modifies the message so that its suitable for the destination web service, then invokes the external web service.
I'm thinking the following (pseudo) route could do the trick.
<camelContext xmlns="http://camel.apache.org/schema/spring">
<route>
<from uri="activemq:queue:requestQueue"/>
<bean ref="myProcessor" method="process"/>
<to uri="cxf:bean:serviceEndpoint"/>
</route>
</camelContext>
What i'm not clear on is this the best approach? Will the myProcess step be able to transform the jms message into a payload suitable for the cxf producer endpoint? What will the process() method use - wsdl2java/jaxb object perhaps? - as the argument to setBody() on message before it goes to the cxf producer endpoint?
I can imagine an alternative approach would be for the myProcessor bean to hold on to a CXF client-side proxy (set via Spring injection) and invoke on that. That way i could just use the JAX-WS / JAXB object model to map and populate the outgoing request from the content of the JMS message.
Thoughts? Have u seen this done and/or any sample code?