Simple Expression Language
The Simple Expression Language is a really simple language you can use. Its primarily intended for being a really small and simple language for testing without requiring any new dependencies or knowledge of XPath; so its ideal for testing in camel-core. However for real world use cases you are generally recommended to choose a more expressive and powerful language such as:
- Bean Language
- EL
- OGNL
- one of the supported Scripting Languages
Syntax
Expression |
Description |
---|---|
id |
the input message id |
body |
the input body |
in.body |
the input body |
out.body |
the output body |
header.foo |
refer to the input foo header |
headers.foo |
refer to the input foo header |
in.header.foo |
refer to the input foo header |
in.headers.foo |
refer to the input foo header |
out.header.foo |
refer to the out header foo |
out.headers.foo |
refer to the out header foo |
property.foo |
refer to the foo property on the exchange |
sys.foo |
refer to the system property |
The simple language uses ${body
} placeholders for complex expressions where the expression contains constant literals. The ${ } placeholders can be omitted if the expression is only the token itself.
To get the body of the in message: "body"
, or "in.body"
or "${body}"
.
A complex expression must use ${ } placeholders, such as: "Hello ${in.header.name} how are you?"
.
You can have multiple tokens in the same expression: "Hello ${in.header.name} this is ${in.header.me} speaking"
.
However you can not nest tokens (i.e. having another ${ } placeholder in an existing, is not allowed).