Since we're on a major migration process of this website, some component documents here are out of sync right now. In the meantime you may want to look at the asciidoc in the repository:

How does the Camel API compare to from CXF, HTTP, JBI, JMS, JavaMail etc

We have tried to make the Camel Exchange and Message map very closely to JBI in particular but also CXF, HTTP, JMS, Mail, XMPP and most other integration abstractions. We want to prevent leaky abstractions, so the Camel API exposes the underlying APIs so that a Processor can make use of the underlying abstractions if they make sense.

For example


Inbound exchange exposes


Each Inbound CxfExchange has access to the underlying Exchange and Message from CXF


Each inbound HttpExchange has access to the underlying HttpServletRequest and HttpServletResponse


Each inbound JbiExchange has access to the underlying JBI MessageExchange and NormalizedMessage objects


Each inbound JmsExchange has access to the underlying JMS Message objects

You can probably see a pattern forming now (smile).

For many routing and mediation components and Processor objects, you maybe don't care about the underlying transport and can instead stick to the abstract Camel API. But if you need to, the real transport APIs are there for you.

© 2004-2015 The Apache Software Foundation.
Apache Camel, Camel, Apache, the Apache feather logo, and the Apache Camel project logo are trademarks of The Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.
Graphic Design By Hiram