Camel Servlet and Apache Tomcat example
=======================================

An example which shows how to use the Camel Servlet with Apache Tomcat.

You will need to package this example first:
  mvn package

To run the example deploy it in Apache Tomcat by copying the .war to the
deploy folder of Apache Tomcat.

And then hit this url from a webbrowser which has further
instructions (use correct version number)
  http://localhost:8080/camel-example-tomcat-2.7

The servlet is located at (use correct version number)
  http://localhost:8080/camel-example-tomcat-2.7/camel

This example is documented at
  http://camel.apache.org/servlet-tomcat-example.html

If you hit any problems please let us know on the Camel Forums
  http://camel.apache.org/discussion-forums.html

Please help us make Apache Camel better - we appreciate any feedback you may
have.  Enjoy!

------------------------
The Camel riders!



