Ce contenu n'est pas disponible dans la langue sélectionnée.
19.21. Apache Camel
19.21.1. Apache Camel
Camel is an open source rules-based router developed by the Apache Project.
19.21.2. Using Apache Camel
To learn how to use Apache Camel, refer to the Red Hat JBoss Fuse Web Services and Routing with Camel CXF Guide.
19.21.3. Using Camel Routes Directly
You can deploy Camel routes directly in your user application, without needing to use SwitchYard. For example, you can deploy the Camel routes as a WAR file, fronted by a servlet or CXF.
19.21.4. Supported Camel Components
The following Apache Camel components are supported by JBoss Fuse:
- camel-amqp
- camel-atom
- camel-atom
- camel-bindy
- camel-cdi
- camel-cxf
- camel-dozer
- camel-file
- camel-ftp
- camel-hl7
- camel-http
- camel-jaxb
- camel-jms
- camel-jpa
- camel-mail
- camel-mqtt
- camel-netty
- camel-quartz
- camel-rss
- camel-sap
- camel-saxon
- camel-sql
19.21.5. Running Camel Examples
The Camel CXF (code first) example uses code-first to expose a web service in Camel running on JBoss EAP. It can be run using Maven.
Procedure 19.1. Task
- To build the example, navigate to its directory and run the following command:
mvn clean install
- To run the example, deploy it in JBoss EAP by copying the
camel-example-cxf-tomcat.war
located in the target directory to thestandalone/deployments/
folder.The webservice is available in http://localhost:8080/camel-example-cxf-tomcat/webservices/incident?wsdl.
19.21.6. Sample Client With Camel CXF
This is what a sample client made with Camel CXF looks like:
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <ns1:reportIncident xmlns:ns1="http://incident.cxf.example.camel.apache.org/"> <arg0> <details>Accounting Department</details> <email>johncitizen@acompany.com</email> <familyName>Citizen</familyName> <givenName>John</givenName> <incidentId>12345</incidentId> <summary>Incident</summary> </arg0> </ns1:reportIncident> </soap:Body> </soap:Envelope> <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <ns1:statusIncident xmlns:ns1="http://incident.cxf.example.camel.apache.org/"> <arg0> <incidentId>12345</incidentId> </arg0> </ns1:statusIncident> </soap:Body> </soap:Envelope>
19.21.7. Camel Servlet Without Spring Example
Procedure 19.2. Task
- To build the example, navigate to the Apache Tomcat directory and enter the following command:
mvn package
- To deploy the example, copy the resulting
.war
file into Apache Tomcat'sDeploy
folder. - To access the example, open your browser and navigate to http://localhost:8080/camel-example-servlet-tomcat-no-spring-2.10.0
- To access the servlet, go to http://localhost:8080/camel-example-servlet-tomcat-no-spring-2.10.0/camel