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

  1. To build the example, navigate to its directory and run the following command:
    mvn clean install
  2. To run the example, deploy it in JBoss EAP by copying the camel-example-cxf-tomcat.war located in the target directory to the standalone/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

  1. To build the example, navigate to the Apache Tomcat directory and enter the following command:
    mvn package
  2. To deploy the example, copy the resulting .war file into Apache Tomcat's Deploy folder.
  3. To access the example, open your browser and navigate to http://localhost:8080/camel-example-servlet-tomcat-no-spring-2.10.0
Red Hat logoGithubRedditYoutubeTwitter

Learn

Try, buy, & sell

Communities

About Red Hat Documentation

We help Red Hat users innovate and achieve their goals with our products and services with content they can trust.

Making open source more inclusive

Red Hat is committed to replacing problematic language in our code, documentation, and web properties. For more details, see the Red Hat Blog.

About Red Hat

We deliver hardened solutions that make it easier for enterprises to work across platforms and environments, from the core datacenter to the network edge.

© 2024 Red Hat, Inc.