Tutorial for using Axis 1.4 with Apache Camel
Table of Contents |
---|
Prerequisites
This tutorial uses Maven 2 to setup the Camel project and for dependencies for artifacts.
Distribution
This sample is distributed with the Camel 1.5 distribution as examples/camel-example-axis
.
Introduction
Apache Axis is/was widely used as a webservice framework. So in line with some of the other tutorials to demonstrate how Camel is not an invasive framework but is flexible and integrates well with existing solution.
...
- Maven 2.0.9
- Apache Camel 1.45.0
- Apache Axis 1.4
- Spring 2.5.5
...
Code Block | ||||
---|---|---|---|---|
| ||||
<dependency> <groupId>org.apache.camel</groupId> <artifactId>camel-core</artifactId> <version>1.45.0</version> </dependency> <dependency> <groupId>org.apache.camel</groupId> <artifactId>camel-spring</artifactId> <version>1.45.0</version> </dependency> |
...
In the CamelContext we have defined our endpoint with the id backup
and configured it use the URL notation that we know from the internet. Its a file
scheme that accepts a context and some options. The contest is target
and its the folder to store the file. The option is just as the internet with ? and & for subsequent options. We configure it to not append, meaning than any existing file will be overwritten. See the File component for options and how to use the camel file endpoint.
Next up is to be able to send a message to this endpoint. The easiest way is to use a CamelProducerProducerTemplate. A CamelProducer ProducerTemplate is inspired by Spring template pattern with for instance JmsTemplate or JdbcTemplate in mind. The template that all the grunt work and exposes a simple interface to the end-user where he/she can set the payload to send. Then the template will do proper resource handling and all related issues in that regard. But how do we get hold of such a template? Well the CamelContext is able to provide one. This is done by configuring the template on the camel context in the spring XML as:
...
Then we avoid to duplicate the name and if we rename the endpoint name then we don't forget to change it in the code also.TODO: Link to other tutorials
TODO: TOC
TODO: Resources
The End
This tutorial hasn't really touched the one of the key concept of Camel as a powerful routing and mediation framework. But we wanted to demonstrate its flexibility and that it integrates well with even older frameworks such as Apache Axis 1.4.
Check out the other tutorials on Camel and the other examples.