Transform

Camel supports the Message Translator from the EIP patterns .

How can systems using different data formats communicate with each other using messaging?

image

Use a special filter, a Message Translator, between other filters or applications to translate one data format into another.

The Message Translator can be done in different ways in Camel:

This page is documenting the first approach by using Transform EIP.

Options

The Transform eip supports 0 options, which are listed below.

Name Description Default Type

note

Sets the note of this node.

String

description

Sets the description of this node.

String

disabled

Disables this EIP from the route.

false

Boolean

expression

Required Expression to return the transformed message body (the new message body to use).

ExpressionDefinition

Exchange properties

The Transform eip has no exchange properties.

Using Transform EIP

You can use a Transform which uses an Expression to do the transformation:

In the example below, we prepend Hello to the message body using the Simple language:

  • Java

  • XML

  • YAML

from("direct:cheese")
    .transform(simple("Hello ${body}"))
    .to("log:hello");
<route>
    <from uri="direct:cheese"/>
    <transform>
        <simple>Hello ${body}</simple>
    </transform>
    <to uri="log:hello"/>
</route>
- from:
    uri: direct:cheese
    steps:
      - transform:
          expression:
            simple: Hello ${body}
      - to:
          uri: log:hello

What is the difference between Transform and Set Body?

The Transform EIP always sets the result on the OUT message body.

Set Body sets the result accordingly to the Exchange Pattern on the Exchange .