Camel Routes Overview - 6.5

Talend ESB Development Guide

EnrichVersion
6.5
EnrichProdName
Talend Data Fabric
Talend Data Services Platform
Talend ESB
Talend MDM Platform
Talend Open Studio for ESB
Talend Real-Time Big Data Platform
task
Design and Development
EnrichPlatform
Talend ESB

To demonstrate the usage and deployment of a Camel route within Talend ESB using Eclipse, we'll use Camel's camel-example-cxf-osgi example, located within the examples/apache/camel folder of the Talend ESB distribution. Steps:

  1. From a command-line windows, navigate to this folder and type mvn clean install eclipse:eclipse. This will create an Eclipse project out of this sample that we can import into Eclipse.

  2. From Eclipse we can now import the project. From the Menu row, select File : Import..., and from the resulting [Import] popup, choose Existing Projects into Workspace (see illustration below). Select Next.

  3. For the root directory navigate to the examples/apache/camel/camel-example-cxf-osgi folder and select the camel-example-cxf-osgi example from the Projects list. Select Finish and you'll see it in the Eclipse Package Explorer. Here would be a good time to open up the project source files and look at the code (this example is explained on the Apache Camel site at http://camel.apache.org/cxf-example-osgi.html.)

  4. As this example runs in the Talend Runtime container, we'll need to start the container prior to running this example. Navigate to the <TalendRuntimePath>/container/bin folder and enter trun.bat or ./trun. Enter the following commands at the resulting console to install the example:

    feature:repo-add mvn:org.apache.camel.karaf/apache-camel/2.10.2/xml/features
    feature:install war
    feature:install camel-spring
    feature:install camel-jaxb
    feature:install camel-cxf
    bundle:install -s mvn:org.apache.camel/camel-example-cxf-osgi/2.10.2
  5. Open a web browser and make sure you can view the above web service WSDL at http://localhost:8040/services/camel-example-cxf-osgi/webservices/incident?wsdl before continuing.

  6. We'll make a SOAP call using soapUI in this step. Make sure you've already installed soapUI in Eclipse as discussed in Development Environment Setup (standalone soapUI is also fine.) From Eclipse, select Menu Item Window | Show View | Other..., and select soapUI Navigator from the View list (see illustration below.)

  7. Create a new project called camel-example-cxf-osgi. Point to the following url: http://localhost:8181/cxf/camel-example-cxf-osgi/webservices/incident?wsdl

  8. In the soapUI Navigator view, open the request 1 (under camel-example-cxf-osgi --> ReportIncidentBinding --> ReportIncident) and copy and paste the following SOAP Message:

    <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-10-05</incidentDate>
                <givenName>Bob</givenName>
                <familyName>Smith</familyName>
                <summary>incident summary</summary>
                <details>incident summary details</details>
                <email>bobsmith@email.com</email>
                <phone>123-456-7890</phone>
            </ns2:inputReportIncident>
        </soap:Body>
    </soap:Envelope>

  9. Press the green arrow in the soapUI navigator to make the SOAP call. Within the Navigator View you'll see the SOAP response stating that the incident report was accepted. Also, checking a new target/inbox folder under the camel-example-cxf-osgi sample directory you'll see a file was created storing the SOAP request, completing the Camel route.