| == CXF OSGI Example using Blueprint | 
 |  | 
 | === Introduction | 
 |  | 
 | A simple example which receives web service calls (via a CXF consumer, | 
 | using bean binding) and writes 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 Camel bundles using a Camel CXF consumer can use this HTTP | 
 | service without needing to start individual Jetty instances. Another | 
 | advantage is that all provided services can now share the same port. | 
 |  | 
 | === Build | 
 |  | 
 | You will need to compile this example first: | 
 |  | 
 | .... | 
 | mvn install | 
 | .... | 
 |  | 
 | === Run | 
 |  | 
 | To run the example on Apache Karaf 4.x or newer | 
 |  | 
 | ==== Step 1: Karaf | 
 |  | 
 | Launch the server | 
 |  | 
 | .... | 
 | karaf / karaf.bat | 
 | .... | 
 |  | 
 | ==== Step 2: Add features | 
 |  | 
 | Add features required | 
 |  | 
 | .... | 
 | feature:repo-add camel ${version} | 
 | feature:install war | 
 | feature:install cxf | 
 | feature:install camel | 
 | feature:install camel-jaxb | 
 | feature:install camel-cxf | 
 | .... | 
 |  | 
 | ==== Step 3: Deploy | 
 |  | 
 | Deploy the example | 
 |  | 
 | .... | 
 | install -s mvn:org.apache.camel.example/camel-example-cxf-blueprint/${version} | 
 | .... | 
 |  | 
 | ==== Step 4: Verify that your service is available using the following url in the browser. | 
 |  | 
 | We assume you're using Karaf's default PAX Web configuration which uses | 
 | 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+`. | 
 | The immediate extension after the hostname and port (`cxf` in the | 
 | below URL) is configured via the org.apache.cxf.osgi.cfg file (Please | 
 | see http://team.ops4j.org/wiki//display/paxweb/Pax+Web for more | 
 | information on PAX Web). | 
 |  | 
 | .... | 
 | http://localhost:8181/cxf/camel-example-cxf-blueprint/webservices/incident?wsdl | 
 | .... | 
 |  | 
 | http://localhost:8181/cxf/camel-example-cxf-blueprint/webservices/incident?wsdl | 
 |  | 
 | ==== Step 5: Start SOAPUI (2.x or later) | 
 |  | 
 | Create a new project called camel-example-cxf-osgi 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 a SOAP message | 
 | generated by the unit test, for example: | 
 |  | 
 | .... | 
 |    <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> | 
 |       <soap:Header /> | 
 |       <soap:Body> | 
 |          <ns2:inputReportIncident xmlns:ns2="http://reportincident.example.camel.apache.org"> | 
 |             <incidentId>111</incidentId> | 
 |             <incidentDate>2011-03-05</incidentDate> | 
 |             <givenName>Christian</givenName> | 
 |             <familyName>Mueller</familyName> | 
 |             <summary>Bla</summary> | 
 |             <details>Bla bla</details> | 
 |             <email>cmueller@apache.org</email> | 
 |             <phone>0049 69 1234567</phone> | 
 |          </ns2:inputReportIncident> | 
 |       </soap:Body> | 
 |    </soap:Envelope> | 
 | .... | 
 |  | 
 | ==== Step 6: Check the file system | 
 |  | 
 | Check the folder `target/inbox/` in the Karaf base directory to see | 
 | that a message has arrived. | 
 |  | 
 | === Help and contributions | 
 |  | 
 | If you hit any problem using Camel or have some feedback, then please | 
 | https://camel.apache.org/support.html[let us know]. | 
 |  | 
 | We also love contributors, so | 
 | https://camel.apache.org/contributing.html[get involved] :-) | 
 |  | 
 | The Camel riders! |