Hi Shaffin,
sound like you need a combination of the jms component and the cxfendpoint.
See the examples from the camel distribution:
- camel-example-cxf-proxy
And the documentations:
- http://camel.apache.org/cxf.html
- http://camel.apache.org/jms.html
Basically your routes could look like this:
from("cxf:bean:reportIncident?dataFormat=MESSAGE")
.to("localjms:localqueue")
from("localjms:localqueue")
.to("remotejms:remotequeue")
You have to define two jms components either in spring xml or in java
code. One with id localjms and the other with id remotejms and configure
them for the respective jms providers.
You best start your project as a pure java project with a Main for easy
testing. You can then adapt it to osgi in the second step. Another
deployment option is to package the project as a war to deploy on a
servlet container.
I did some tutorials about moving projects to Karaf:
- http://www.liquid-reality.de/display/liquid/Karaf+Tutorials
The tutorials do not yet cover camel and cxf but it is not difficult. If
you use servicemix or the Talend Integration Factory then all is
prepared for using cxf and camel. A pure Karaf container is currently
not able to run cxf as you need to change the packages exported by the
system bundle but the above projects already do that for you.
In the Talend Integration Factory examples we show how to package camel
and cxf maven projects for usage in a Karaf container. See:
https://github.com/Talend/tif/tree/master/examples
Christian
Am 04.10.2011 21:54, schrieb Shaffin Bhanji:
Hello All,
I am currently working on a design that requires hosting a Web-service
in ServiceMix that will provide a service to provision a user. This
requires the following:
a. Customer sends a SOAP request to provision a user
b. The service accepts the request and drops it into a JMS request
queue, and waits for a response from a local response queue
c. A camel route takes the request and sends it to a remote JMS bus
d. A remote camel route picks the request and using API's (custom
endpoint) creates a remote user
e. When a remote user is created, the API will write a response to a
remote response queue
f. A local consumer will then accept the response from a remote queue
and drops it into a local response queue
g. The service will read the response and convey that back to the calling client
Having said all that, we were hoping to take advantage of using a CXF
with Camel in our approach, and was hoping to find a resource or
sample code template to help us jump start the solution.
Thank you all for your feedback,
Shaffin.
--
--
Christian Schneider
http://www.liquid-reality.de
Open Source Architect
Talend Application Integration Division http://www.talend.com