Skip to content

Apache Camel Integration Concept

Piotr Jagielski edited this page May 22, 2013 · 6 revisions

Motivation

Camel is a great integration library with powerful programming model. However, dealing with Soap Web Services without any container (eg. ServiceMix) could be painful. So let's change that by integrating Camel with soap-ws ;)

Goals

  • provide simple way to produce/expose Soap WS in Camel
  • introduce soap-ws to Camel community

CXF

Pros:

  • CXF bus integration

Cons:

  • lack of simple examples
  • unclear documentation

Spring-ws

Pros:

  • contract-first

Cons:

  • messy endpoint definition

Integration concepts

  • both producer/consumer support
  • as short endpoint uri as possible
  • SoapServer and SoapClient defined in Spring context
  • SoapBuilder accessed via bean language
from("soap-ws:currencyServer")
... // request processing
    .setHeader("body").method("currencyBuilder", "buildResponse")
    .setBody().simple("${header.body}");

from("direct:request")
     .setHeader("body").method("currencyBuilder", "buildRequest")
     .setBody().simple("${header.body}")
     .to("soap-ws:currencyClient");
Clone this wiki locally