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

Reply via email to