CXF OSGI Example using Blueprint ================================ A simple example which receives web service calls (via a CXF consumer, using bean binding) and write these requests into the file system. It's not a very useful use case, but the goal of this example is to show you how you can use the CXF consumer component in an OSGI environment with the OSGI HTTP service. If your target container is Apache Karaf or Apache ServiceMix, you can use PAX Web to setup and start an OSGI HTTP service. All your Camel bundles using a Camel CXF consumer can use this HTTP service and do not have to start it's own Jetty instance. Another possibility you get is, that all your provided services can share the same port. You will need to compile this example first: mvn install To run the example on Apache ServiceMix 4.x or Apache Karaf 2.x 1) launch the server karaf.bat For Karaf 2.2 : edit the file jre.properties to add the following packages to be exported jre-1.6=, \ com.sun.org.apache.xerces.internal.dom, \ com.sun.org.apache.xerces.internal.jaxp, \ 2) Add features required features:addUrl mvn:org.apache.camel.karaf/apache-camel/2.8.0/xml/features features:install war features:install cxf features:install camel-jaxb features:install camel-blueprint features:install camel-cxf Note: In this example we use Apache Camel 2.8.0 as the version. You should of course use the version number of Camel you are using. 3) Deploy our example osgi:install -s mvn:org.apache.camel/camel-example-cxf-blueprint 4) Verify that your service is available using in the browser the following url. We assume you use the default PAX Web configuration which use the port 8181 for http. If you would like to use another port or https, change the configuration in ${KARAF_HOME}/etc/org.ops4j.pax.web.cfg. Please see http://wiki.ops4j.org/display/paxweb/Pax+Web for more information. http://localhost:8181/cxf/camel-example-cxf-blueprint/webservices/incident?wsdl 5) Start SOAPUI Create a new project called camel-example-cxf-blueprint Point to the following url : http://localhost:8181/cxf/camel-example-cxf-blueprint/webservices/incident?wsdl Open the request 1 (under camel-example-cxf-blueprint --> ReportIncidentBinding --> ReportIncident) and copy/paste the SOAP message generated by the unit test ex : --> and the message formatted that you copy in SOAPUI 111 2011-03-05 Christian Mueller Bla
Bla bla
cmueller@apache.org 0049 69 1234567
6) Check the file system Check the folder "target/inbox/" in your file system that a message has been arrived. This example is documented at http://camel.apache.org/cxf-example-osgi-blueprint.html If you hit any problems please let us know on the Camel Forums http://camel.apache.org/discussion-forums.html Please help us make Apache Camel better - we appreciate any feedback you may have. Enjoy! ------------------------ The Camel riders!