Author: buildbot
Date: Wed Jul 22 17:20:53 2015
New Revision: 959183

Log:
Production update by buildbot for camel

Modified:
    websites/production/camel/content/book-in-one-page.html
    websites/production/camel/content/book-languages-appendix.html
    websites/production/camel/content/cache/main.pageCache
    websites/production/camel/content/simple.html

Modified: websites/production/camel/content/book-in-one-page.html
==============================================================================
--- websites/production/camel/content/book-in-one-page.html (original)
+++ websites/production/camel/content/book-in-one-page.html Wed Jul 22 17:20:53 
2015
@@ -3685,11 +3685,11 @@ The tutorial has been designed in two pa
 While not actual tutorials you might find working through the source of the 
various <a shape="rect" href="examples.html">Examples</a> useful.</li></ul>
 
 <h2 id="BookInOnePage-TutorialonSpringRemotingwithJMS">Tutorial on Spring 
Remoting with JMS</h2><p>&#160;</p><div class="confluence-information-macro 
confluence-information-macro-information"><p class="title">Thanks</p><span 
class="aui-icon aui-icon-small aui-iconfont-info 
confluence-information-macro-icon"></span><div 
class="confluence-information-macro-body"><p>This tutorial was kindly donated 
to Apache Camel by Martin Gilday.</p></div></div><h2 
id="BookInOnePage-Preface">Preface</h2><p>This tutorial aims to guide the 
reader through the stages of creating a project which uses Camel to facilitate 
the routing of messages from a JMS queue to a <a shape="rect" 
class="external-link" href="http://www.springramework.org"; 
rel="nofollow">Spring</a> service. The route works in a synchronous fashion 
returning a response to the client.</p><p><style type="text/css">/*<![CDATA[*/
-div.rbtoc1437574714082 {padding: 0px;}
-div.rbtoc1437574714082 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1437574714082 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1437585533220 {padding: 0px;}
+div.rbtoc1437585533220 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1437585533220 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style></p><div class="toc-macro rbtoc1437574714082">
+/*]]>*/</style></p><div class="toc-macro rbtoc1437585533220">
 <ul class="toc-indentation"><li><a shape="rect" 
href="#BookInOnePage-TutorialonSpringRemotingwithJMS">Tutorial on Spring 
Remoting with JMS</a></li><li><a shape="rect" 
href="#BookInOnePage-Preface">Preface</a></li><li><a shape="rect" 
href="#BookInOnePage-Prerequisites">Prerequisites</a></li><li><a shape="rect" 
href="#BookInOnePage-Distribution">Distribution</a></li><li><a shape="rect" 
href="#BookInOnePage-About">About</a></li><li><a shape="rect" 
href="#BookInOnePage-CreatetheCamelProject">Create the Camel Project</a>
 <ul class="toc-indentation"><li><a shape="rect" 
href="#BookInOnePage-UpdatethePOMwithDependencies">Update the POM with 
Dependencies</a></li></ul>
 </li><li><a shape="rect" href="#BookInOnePage-WritingtheServer">Writing the 
Server</a>
@@ -5789,11 +5789,11 @@ So we completed the last piece in the pi
 <p>This example has been removed from <strong>Camel 2.9</strong> onwards. 
Apache Axis 1.4 is a very old and unsupported framework. We encourage users to 
use <a shape="rect" href="cxf.html">CXF</a> instead of Axis.</p></div></div>
 
 <style type="text/css">/*<![CDATA[*/
-div.rbtoc1437574715278 {padding: 0px;}
-div.rbtoc1437574715278 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1437574715278 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1437585534059 {padding: 0px;}
+div.rbtoc1437585534059 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1437585534059 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style><div class="toc-macro rbtoc1437574715278">
+/*]]>*/</style><div class="toc-macro rbtoc1437585534059">
 <ul class="toc-indentation"><li><a shape="rect" 
href="#BookInOnePage-TutorialusingAxis1.4withApacheCamel">Tutorial using Axis 
1.4 with Apache Camel</a>
 <ul class="toc-indentation"><li><a shape="rect" 
href="#BookInOnePage-Prerequisites">Prerequisites</a></li><li><a shape="rect" 
href="#BookInOnePage-Distribution">Distribution</a></li><li><a shape="rect" 
href="#BookInOnePage-Introduction">Introduction</a></li><li><a shape="rect" 
href="#BookInOnePage-SettinguptheprojecttorunAxis">Setting up the project to 
run Axis</a>
 <ul class="toc-indentation"><li><a shape="rect" 
href="#BookInOnePage-Maven2">Maven 2</a></li><li><a shape="rect" 
href="#BookInOnePage-wsdl">wsdl</a></li><li><a shape="rect" 
href="#BookInOnePage-ConfiguringAxis">Configuring Axis</a></li><li><a 
shape="rect" href="#BookInOnePage-RunningtheExample">Running the 
Example</a></li></ul>
@@ -8176,7 +8176,7 @@ result = body * 2 + 1
 &lt;/dependency&gt;
 ]]></script>
 </div></div>
-<h2 id="BookInOnePage-SimpleExpressionLanguage">Simple Expression 
Language</h2><p>The Simple Expression Language was a really simple language you 
can use, but has since grown more powerful. Its primarily intended for being a 
really small and simple language for evaluating <a shape="rect" 
href="expression.html">Expression</a> and <a shape="rect" 
href="predicate.html">Predicate</a> without requiring any new dependencies or 
knowledge of <a shape="rect" href="xpath.html">XPath</a>; so its ideal for 
testing in camel-core. Its ideal to cover 95% of the common use cases when you 
need a little bit of expression based script in your Camel 
routes.</p><p>However for much more complex use cases you are generally 
recommended to choose a more expressive and powerful language such 
as:</p><ul><li><a shape="rect" href="spel.html">SpEL</a></li><li><a 
shape="rect" href="mvel.html">Mvel</a></li><li><a shape="rect" 
href="groovy.html">Groovy</a></li><li><a shape="rect" 
href="javascript.html">JavaScript</
 a></li><li><a shape="rect" href="el.html">EL</a></li><li><a shape="rect" 
href="ognl.html">OGNL</a></li><li>one of the supported <a shape="rect" 
href="scripting-languages.html">Scripting Languages</a></li></ul><p>The simple 
language uses <code>${body</code>} placeholders for complex expressions where 
the expression contains constant literals. The ${ } placeholders can be omitted 
if the expression is only the token itself.</p><div 
class="confluence-information-macro confluence-information-macro-tip"><p 
class="title">Alternative syntax</p><span class="aui-icon aui-icon-small 
aui-iconfont-approve confluence-information-macro-icon"></span><div 
class="confluence-information-macro-body"><p>From Camel 2.5 onwards you can 
also use the alternative syntax which uses $simple{ } as placeholders.<br 
clear="none"> This can be used in situations to avoid clashes when using for 
example Spring property placeholder together with Camel.</p></div></div><div 
class="confluence-information-macro confluence
 -information-macro-tip"><p class="title">Configuring result type</p><span 
class="aui-icon aui-icon-small aui-iconfont-approve 
confluence-information-macro-icon"></span><div 
class="confluence-information-macro-body"><p>From Camel 2.8 onwards you can 
configure the result type of the <a shape="rect" href="simple.html">Simple</a> 
expression. For example to set the type as a <code>java.lang.Boolean</code> or 
a <code>java.lang.Integer</code> etc.</p></div></div><div 
class="confluence-information-macro 
confluence-information-macro-information"><p class="title">File language is now 
merged with Simple language</p><span class="aui-icon aui-icon-small 
aui-iconfont-info confluence-information-macro-icon"></span><div 
class="confluence-information-macro-body"><p>From Camel 2.2 onwards, the <a 
shape="rect" href="file-language.html">File Language</a> is now merged with <a 
shape="rect" href="simple.html">Simple</a> language which means you can use all 
the file syntax directly within the simple langu
 age.</p></div></div><div class="confluence-information-macro 
confluence-information-macro-information"><p class="title">Simple Language 
Changes in Camel 2.9 onwards</p><span class="aui-icon aui-icon-small 
aui-iconfont-info confluence-information-macro-icon"></span><div 
class="confluence-information-macro-body"><p>The <a shape="rect" 
href="simple.html">Simple</a> language have been improved from Camel 2.9 
onwards to use a better syntax parser, which can do index precise error 
messages, so you know exactly what is wrong and where the problem is. For 
example if you have made a typo in one of the operators, then previously the 
parser would not be able to detect this, and cause the evaluation to be true. 
There is a few changes in the syntax which are no longer backwards compatible. 
When using <a shape="rect" href="simple.html">Simple</a> language as a <a 
shape="rect" href="predicate.html">Predicate</a> then the literal text 
<strong>must</strong> be enclosed in either single or double quo
 tes. For example: <code>"${body} == 'Camel'"</code>. Notice how we have single 
quotes around the literal. The old style of using <code>"body"</code> and 
<code>"header.foo"</code> to refer to the message body and header is 
@deprecated, and its encouraged to always use ${ } tokens for the built-in 
functions.<br clear="none"> The range operator now requires the range to be in 
single quote as well as shown: <code>"${header.zip} between 
'30000..39999'"</code>.</p></div></div><p>To get the body of the in message: 
<code>"body"</code>, or <code>"in.body"</code> or 
<code>"${body}"</code>.</p><p>A complex expression must use ${ } placeholders, 
such as: <code>"Hello ${in.header.name} how are you?"</code>.</p><p>You can 
have multiple functions in the same expression: <code>"Hello ${in.header.name} 
this is ${in.header.me} speaking"</code>.<br clear="none"> However you can 
<strong>not</strong> nest functions in Camel 2.8.x or older (i.e. having 
another ${ } placeholder in an existing, is not allo
 wed).<br clear="none"> From <strong>Camel 2.9</strong> onwards you can nest 
functions.</p><h3 id="BookInOnePage-Variables.4">Variables</h3><div 
class="confluenceTableSmall"><div class="table-wrap"><table 
class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Variable</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Type</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p>camelId</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>String</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><strong>Camel 2.10:</strong> the <a shape="rect" 
href="camelcontext.html">CamelContext</a> name</p></td></tr><tr><td colspan="1" 
rowspan="1" 
class="confluenceTd"><p>camelContext.<strong>OGNL</strong></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>Object</p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><strong>Camel 2.11:</strong> 
 the CamelContext invoked using a Camel OGNL expression.</p></td></tr><tr><td 
colspan="1" rowspan="1" class="confluenceTd">exchange</td><td colspan="1" 
rowspan="1" class="confluenceTd">Exchange</td><td colspan="1" rowspan="1" 
class="confluenceTd"><strong>Camel 2.16:</strong> the <a shape="rect" 
href="exchange.html">Exchange</a></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd">exchange.<strong>OGNL</strong></td><td colspan="1" 
rowspan="1" class="confluenceTd">Object</td><td colspan="1" rowspan="1" 
class="confluenceTd"><strong>Camel 2.16:</strong><span> the </span><a 
shape="rect" href="exchange.html">Exchange</a><span> invoked using a Camel OGNL 
expression.</span></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>exchangeId</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>String</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><strong>Camel 2.3:</strong> the exchange 
id</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><
 p>id</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>String</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>the input message id</p></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p>body</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Object</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>the input body</p></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p>in.body</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Object</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>the input body</p></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p>body.<strong>OGNL</strong></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>Object</p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><strong>Camel 2.3:</strong> the input body 
invoked using a Camel OGNL expression.</p></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p>in.body.<strong>OGNL</strong></p></
 td><td colspan="1" rowspan="1" class="confluenceTd"><p>Object</p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.3:</strong> the 
input body invoked using a Camel OGNL expression.</p></td></tr><tr><td 
colspan="1" rowspan="1" 
class="confluenceTd"><p>bodyAs(<em>type</em>)</p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>Type</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><strong>Camel 2.3:</strong> Converts the body to the 
given type determined by its classname. The converted body can be 
null.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>mandatoryBodyAs(<em>type</em>)</p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>Type</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><strong>Camel 2.5:</strong> Converts the body to the 
given type determined by its classname, and expects the body to be not 
null.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>out.body</p></td><td colspan
 ="1" rowspan="1" class="confluenceTd"><p>Object</p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>the output body</p></td></tr><tr><td 
colspan="1" rowspan="1" class="confluenceTd"><p>header.foo</p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>Object</p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>refer to the input foo 
header</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>header[foo]</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Object</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><strong>Camel 2.9.2:</strong> refer to the input foo 
header</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>headers.foo</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Object</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>refer to the input foo header</p></td></tr><tr><td 
colspan="1" rowspan="1" class="confluenceTd"><p>headers[foo]</p></td><td 
colspan="1" rowspan="1" class="confl
 uenceTd"><p>Object</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><strong>Camel 2.9.2:</strong> refer to the input foo 
header</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>in.header.foo</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Object</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>refer to the input foo header</p></td></tr><tr><td 
colspan="1" rowspan="1" class="confluenceTd"><p>in.header[foo]</p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>Object</p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><strong>Camel 2.9.2:</strong> refer to the 
input foo header</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>in.headers.foo</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Object</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>refer to the input foo header</p></td></tr><tr><td 
colspan="1" rowspan="1" class="confluenceTd"><p>in.headers[foo]</p></td><td 
colspan="
 1" rowspan="1" class="confluenceTd"><p>Object</p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><strong>Camel 2.9.2:</strong> refer to the 
input foo header</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>header.foo[bar]</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Object</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><strong>Camel 2.3:</strong> regard input foo header as 
a map and perform lookup on the map with bar as key</p></td></tr><tr><td 
colspan="1" rowspan="1" class="confluenceTd"><p>in.header.foo[bar]</p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>Object</p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><strong>Camel 2.3:</strong> regard input 
foo header as a map and perform lookup on the map with bar as 
key</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>in.headers.foo[bar]</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Object</p></td><td colspan="1" rowspan="1
 " class="confluenceTd"><p><strong>Camel 2.3:</strong> regard input foo header 
as a map and perform lookup on the map with bar as key</p></td></tr><tr><td 
colspan="1" rowspan="1" 
class="confluenceTd"><p>header.foo.<strong>OGNL</strong></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>Object</p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><strong>Camel 2.3:</strong> refer to the 
input foo header and invoke its value using a Camel OGNL 
expression.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>in.header.foo.<strong>OGNL</strong></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>Object</p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><strong>Camel 2.3:</strong> refer to the 
input foo header and invoke its value using a Camel OGNL 
expression.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>in.headers.foo.<strong>OGNL</strong></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>Object</p></td><t
 d colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.3:</strong> 
refer to the input foo header and invoke its value using a Camel OGNL 
expression.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>out.header.foo</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Object</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>refer to the out header foo</p></td></tr><tr><td 
colspan="1" rowspan="1" class="confluenceTd"><p>out.header[foo]</p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>Object</p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><strong>Camel 2.9.2:</strong> refer to the 
out header foo</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>out.headers.foo</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Object</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>refer to the out header foo</p></td></tr><tr><td 
colspan="1" rowspan="1" class="confluenceTd"><p>out.headers[foo]</p
 ></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Object</p></td><td 
 >colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.9.2:</strong> 
 >refer to the out header foo</p></td></tr><tr><td colspan="1" rowspan="1" 
 >class="confluenceTd"><p>headerAs(<em>key</em>,<em>type</em>)</p></td><td 
 >colspan="1" rowspan="1" class="confluenceTd"><p>Type</p></td><td colspan="1" 
 >rowspan="1" class="confluenceTd"><p><strong>Camel 2.5:</strong> Converts the 
 >header to the given type determined by its classname</p></td></tr><tr><td 
 >colspan="1" rowspan="1" class="confluenceTd"><p>headers</p></td><td 
 >colspan="1" rowspan="1" class="confluenceTd"><p>Map</p></td><td colspan="1" 
 >rowspan="1" class="confluenceTd"><p><strong>Camel 2.9:</strong> refer to the 
 >input headers</p></td></tr><tr><td colspan="1" rowspan="1" 
 >class="confluenceTd"><p>in.headers</p></td><td colspan="1" rowspan="1" 
 >class="confluenceTd"><p>Map</p></td><td colspan="1" rowspan="1" 
 >class="confluenceTd"><p><strong>Camel 2.9:</strong> r
 efer to the input headers</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>property.foo</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Object</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><strong>Deprecated:</strong> refer to the foo property 
on the exchange</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd">exchangeProperty.foo</td><td colspan="1" rowspan="1" 
class="confluenceTd">Object</td><td colspan="1" rowspan="1" 
class="confluenceTd"><span><strong>Camel 2.15:</strong> refer to the foo 
property on the exchange</span></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>property[foo]</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Object</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><strong>Deprecated:</strong> refer to the foo property 
on the exchange</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><span>exchangeProperty[foo]</span></td><td colspan="1" 
rowspan="
 1" class="confluenceTd">Object</td><td colspan="1" rowspan="1" 
class="confluenceTd"><strong>Camel 2.15:</strong><span> refer to the foo 
property on the exchange</span></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>property.foo.<strong>OGNL</strong></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>Object</p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><strong>Deprecated:</strong> refer to the 
foo property on the exchange and invoke its value using a Camel OGNL 
expression.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><span>exchangeProperty.foo.</span><strong>OGNL</strong></td><td
 colspan="1" rowspan="1" class="confluenceTd">Object</td><td colspan="1" 
rowspan="1" class="confluenceTd"><strong>Camel 2.15:</strong><span> refer to 
the foo property on the exchange and invoke its value using a Camel OGNL 
expression.</span></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>sys.foo</p></td><td colspan="1" rowspan="1"
  class="confluenceTd"><p>String</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>refer to the system property</p></td></tr><tr><td 
colspan="1" rowspan="1" class="confluenceTd"><p>sysenv.foo</p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>String</p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><strong>Camel 2.3:</strong> refer to the 
system environment</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>exception</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Object</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><strong>Camel 2.4:</strong> Refer to the exception 
object on the exchange, is <strong>null</strong> if no exception set on 
exchange. Will fallback and grab caught exceptions 
(<code>Exchange.EXCEPTION_CAUGHT</code>) if the Exchange has 
any.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>exception.<strong>OGNL</strong></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>Ob
 ject</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 
2.4:</strong> Refer to the exchange exception invoked using a Camel OGNL 
expression object</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>exception.message</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>String</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Refer to the exception.message on the exchange, is 
<strong>null</strong> if no exception set on exchange. Will fallback and grab 
caught exceptions (<code>Exchange.EXCEPTION_CAUGHT</code>) if the Exchange has 
any.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>exception.stacktrace</p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>String</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><strong>Camel 2.6.</strong> Refer to the 
exception.stracktrace on the exchange, is <strong>null</strong> if no exception 
set on exchange. Will fallback and grab caught exceptions (<co
 de>Exchange.EXCEPTION_CAUGHT</code>) if the Exchange has 
any.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>date:<em>command:pattern</em></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>String</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Date formatting using the 
<code>java.text.SimpleDataFormat</code> patterns. Supported commands are: 
<strong>now</strong> for current timestamp, <strong>in.header.xxx</strong> or 
<strong>header.xxx</strong> to use the Date object in the IN header with the 
key xxx. <strong>out.header.xxx</strong> to use the Date object in the OUT 
header with the key xxx.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>bean:<em>bean expression</em></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>Object</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Invoking a bean expression using the <a shape="rect" 
href="bean.html">Bean</a> language. Specifying a method name you must use d
 ot as separator. We also support the ?method=methodname syntax that is used by 
the <a shape="rect" href="bean.html">Bean</a> component.</p></td></tr><tr><td 
colspan="1" rowspan="1" 
class="confluenceTd"><p>properties:<em>locations:key</em></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>String</p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><strong>Deprecated (use properties-location 
instead) Camel 2.3:</strong> Lookup a property with the given key. The 
<code>locations</code> option is optional. See more at <a shape="rect" 
href="using-propertyplaceholder.html">Using 
PropertyPlaceholder</a>.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>properties-location:<em><a shape="rect" 
class="external-link" href="http://locationskey"; 
rel="nofollow">locations:key</a></em></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>String</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><strong>Camel 2.14.1:</strong> Lookup a property with
  the given key. The <code>locations</code> option is optional. See more at <a 
shape="rect" href="using-propertyplaceholder.html">Using 
PropertyPlaceholder</a>.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd">properties:key:default</td><td colspan="1" rowspan="1" 
class="confluenceTd">String</td><td colspan="1" rowspan="1" 
class="confluenceTd"><strong>Camel 2.14.1</strong>: Lookup a property with the 
given key. If the key does not exists or has no value, then an optional default 
value can be specified.</td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>routeId</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>String</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><strong>Camel 2.11:</strong> Returns the id of the 
current route the <a shape="rect" href="exchange.html">Exchange</a> is being 
routed.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>threadName</p></td><td colspan="1" rowspan="1" 
class="confluenceTd">
 <p>String</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><strong>Camel 2.3:</strong> Returns the name of the 
current thread. Can be used for logging purpose.</p></td></tr><tr><td 
colspan="1" rowspan="1" class="confluenceTd"><p>ref:xxx</p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>Object</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><strong>Camel 2.6:</strong> To lookup a bean from the 
<a shape="rect" href="registry.html">Registry</a> with the given 
id.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>type:name.field</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Object</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><strong>Camel 2.11:</strong> To refer to a type or 
field by its FQN name. To refer to a field you can append .FIELD_NAME. For 
example you can refer to the constant field from Exchange as: 
<code>org.apache.camel.Exchange.FILE_NAME</code></p></td><td colspan="1" 
rowspan="1" class="conflue
 nceTd"><p>.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>null</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>null</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><strong>Camel 2.12.3:</strong> represents a 
<strong>null</strong></p></td></tr></tbody></table></div></div><h3 
id="BookInOnePage-OGNLexpressionsupport">OGNL expression 
support</h3><p><strong>Available as of Camel 2.3</strong></p><div 
class="confluence-information-macro 
confluence-information-macro-information"><span class="aui-icon aui-icon-small 
aui-iconfont-info confluence-information-macro-icon"></span><div 
class="confluence-information-macro-body"><p>Camel's OGNL support is for 
invoking methods only. You cannot access fields.<br clear="none"> From 
<strong>Camel 2.11.1</strong> onwards we added special support for accessing 
the length field of Java arrays.</p></div></div><p>The <a shape="rect" 
href="simple.html">Simple</a> and <a shape="rect" href="bean.html">Bean</a> lang
 uage now supports a Camel OGNL notation for invoking beans in a chain like 
fashion.<br clear="none"> Suppose the Message IN body contains a POJO which has 
a <code>getAddress()</code> method.</p><p>Then you can use Camel OGNL notation 
to access the address object:</p><div class="code panel pdl" 
style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<h2 id="BookInOnePage-SimpleExpressionLanguage">Simple Expression 
Language</h2><p>The Simple Expression Language was a really simple language you 
can use, but has since grown more powerful. Its primarily intended for being a 
really small and simple language for evaluating <a shape="rect" 
href="expression.html">Expression</a> and <a shape="rect" 
href="predicate.html">Predicate</a> without requiring any new dependencies or 
knowledge of <a shape="rect" href="xpath.html">XPath</a>; so its ideal for 
testing in camel-core. Its ideal to cover 95% of the common use cases when you 
need a little bit of expression based script in your Camel 
routes.</p><p>However for much more complex use cases you are generally 
recommended to choose a more expressive and powerful language such 
as:</p><ul><li><a shape="rect" href="spel.html">SpEL</a></li><li><a 
shape="rect" href="mvel.html">Mvel</a></li><li><a shape="rect" 
href="groovy.html">Groovy</a></li><li><a shape="rect" 
href="javascript.html">JavaScript</
 a></li><li><a shape="rect" href="el.html">EL</a></li><li><a shape="rect" 
href="ognl.html">OGNL</a></li><li>one of the supported <a shape="rect" 
href="scripting-languages.html">Scripting Languages</a></li></ul><p>The simple 
language uses <code>${body</code>} placeholders for complex expressions where 
the expression contains constant literals. The ${ } placeholders can be omitted 
if the expression is only the token itself.</p><div 
class="confluence-information-macro confluence-information-macro-tip"><p 
class="title">Alternative syntax</p><span class="aui-icon aui-icon-small 
aui-iconfont-approve confluence-information-macro-icon"></span><div 
class="confluence-information-macro-body"><p>From Camel 2.5 onwards you can 
also use the alternative syntax which uses $simple{ } as placeholders.<br 
clear="none"> This can be used in situations to avoid clashes when using for 
example Spring property placeholder together with Camel.</p></div></div><div 
class="confluence-information-macro confluence
 -information-macro-tip"><p class="title">Configuring result type</p><span 
class="aui-icon aui-icon-small aui-iconfont-approve 
confluence-information-macro-icon"></span><div 
class="confluence-information-macro-body"><p>From Camel 2.8 onwards you can 
configure the result type of the <a shape="rect" href="simple.html">Simple</a> 
expression. For example to set the type as a <code>java.lang.Boolean</code> or 
a <code>java.lang.Integer</code> etc.</p></div></div><div 
class="confluence-information-macro 
confluence-information-macro-information"><p class="title">File language is now 
merged with Simple language</p><span class="aui-icon aui-icon-small 
aui-iconfont-info confluence-information-macro-icon"></span><div 
class="confluence-information-macro-body"><p>From Camel 2.2 onwards, the <a 
shape="rect" href="file-language.html">File Language</a> is now merged with <a 
shape="rect" href="simple.html">Simple</a> language which means you can use all 
the file syntax directly within the simple langu
 age.</p></div></div><div class="confluence-information-macro 
confluence-information-macro-information"><p class="title">Simple Language 
Changes in Camel 2.9 onwards</p><span class="aui-icon aui-icon-small 
aui-iconfont-info confluence-information-macro-icon"></span><div 
class="confluence-information-macro-body"><p>The <a shape="rect" 
href="simple.html">Simple</a> language have been improved from Camel 2.9 
onwards to use a better syntax parser, which can do index precise error 
messages, so you know exactly what is wrong and where the problem is. For 
example if you have made a typo in one of the operators, then previously the 
parser would not be able to detect this, and cause the evaluation to be true. 
There is a few changes in the syntax which are no longer backwards compatible. 
When using <a shape="rect" href="simple.html">Simple</a> language as a <a 
shape="rect" href="predicate.html">Predicate</a> then the literal text 
<strong>must</strong> be enclosed in either single or double quo
 tes. For example: <code>"${body} == 'Camel'"</code>. Notice how we have single 
quotes around the literal. The old style of using <code>"body"</code> and 
<code>"header.foo"</code> to refer to the message body and header is 
@deprecated, and its encouraged to always use ${ } tokens for the built-in 
functions.<br clear="none"> The range operator now requires the range to be in 
single quote as well as shown: <code>"${header.zip} between 
'30000..39999'"</code>.</p></div></div><p>To get the body of the in message: 
<code>"body"</code>, or <code>"in.body"</code> or 
<code>"${body}"</code>.</p><p>A complex expression must use ${ } placeholders, 
such as: <code>"Hello ${in.header.name} how are you?"</code>.</p><p>You can 
have multiple functions in the same expression: <code>"Hello ${in.header.name} 
this is ${in.header.me} speaking"</code>.<br clear="none"> However you can 
<strong>not</strong> nest functions in Camel 2.8.x or older (i.e. having 
another ${ } placeholder in an existing, is not allo
 wed).<br clear="none"> From <strong>Camel 2.9</strong> onwards you can nest 
functions.</p><h3 id="BookInOnePage-Variables.4">Variables</h3><div 
class="confluenceTableSmall"><div class="table-wrap"><table 
class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Variable</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Type</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p>camelId</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>String</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><strong>Camel 2.10:</strong> the <a shape="rect" 
href="camelcontext.html">CamelContext</a> name</p></td></tr><tr><td colspan="1" 
rowspan="1" 
class="confluenceTd"><p>camelContext.<strong>OGNL</strong></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>Object</p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><strong>Camel 2.11:</strong> 
 the CamelContext invoked using a Camel OGNL expression.</p></td></tr><tr><td 
colspan="1" rowspan="1" class="confluenceTd">exchange</td><td colspan="1" 
rowspan="1" class="confluenceTd">Exchange</td><td colspan="1" rowspan="1" 
class="confluenceTd"><strong>Camel 2.16:</strong> the <a shape="rect" 
href="exchange.html">Exchange</a></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd">exchange.<strong>OGNL</strong></td><td colspan="1" 
rowspan="1" class="confluenceTd">Object</td><td colspan="1" rowspan="1" 
class="confluenceTd"><strong>Camel 2.16:</strong><span> the </span><a 
shape="rect" href="exchange.html">Exchange</a><span> invoked using a Camel OGNL 
expression.</span></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>exchangeId</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>String</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><strong>Camel 2.3:</strong> the exchange 
id</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><
 p>id</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>String</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>the input message id</p></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p>body</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Object</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>the input body</p></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p>in.body</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Object</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>the input body</p></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p>body.<strong>OGNL</strong></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>Object</p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><strong>Camel 2.3:</strong> the input body 
invoked using a Camel OGNL expression.</p></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p>in.body.<strong>OGNL</strong></p></
 td><td colspan="1" rowspan="1" class="confluenceTd"><p>Object</p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.3:</strong> the 
input body invoked using a Camel OGNL expression.</p></td></tr><tr><td 
colspan="1" rowspan="1" 
class="confluenceTd"><p>bodyAs(<em>type</em>)</p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>Type</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><strong>Camel 2.3:</strong> Converts the body to the 
given type determined by its classname. The converted body can be 
null.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>mandatoryBodyAs(<em>type</em>)</p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>Type</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><strong>Camel 2.5:</strong> Converts the body to the 
given type determined by its classname, and expects the body to be not 
null.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>out.body</p></td><td colspan
 ="1" rowspan="1" class="confluenceTd"><p>Object</p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>the output body</p></td></tr><tr><td 
colspan="1" rowspan="1" class="confluenceTd"><p>header.foo</p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>Object</p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>refer to the input foo 
header</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>header[foo]</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Object</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><strong>Camel 2.9.2:</strong> refer to the input foo 
header</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>headers.foo</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Object</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>refer to the input foo header</p></td></tr><tr><td 
colspan="1" rowspan="1" class="confluenceTd"><p>headers[foo]</p></td><td 
colspan="1" rowspan="1" class="confl
 uenceTd"><p>Object</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><strong>Camel 2.9.2:</strong> refer to the input foo 
header</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>in.header.foo</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Object</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>refer to the input foo header</p></td></tr><tr><td 
colspan="1" rowspan="1" class="confluenceTd"><p>in.header[foo]</p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>Object</p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><strong>Camel 2.9.2:</strong> refer to the 
input foo header</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>in.headers.foo</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Object</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>refer to the input foo header</p></td></tr><tr><td 
colspan="1" rowspan="1" class="confluenceTd"><p>in.headers[foo]</p></td><td 
colspan="
 1" rowspan="1" class="confluenceTd"><p>Object</p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><strong>Camel 2.9.2:</strong> refer to the 
input foo header</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>header.foo[bar]</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Object</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><strong>Camel 2.3:</strong> regard input foo header as 
a map and perform lookup on the map with bar as key</p></td></tr><tr><td 
colspan="1" rowspan="1" class="confluenceTd"><p>in.header.foo[bar]</p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>Object</p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><strong>Camel 2.3:</strong> regard input 
foo header as a map and perform lookup on the map with bar as 
key</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>in.headers.foo[bar]</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Object</p></td><td colspan="1" rowspan="1
 " class="confluenceTd"><p><strong>Camel 2.3:</strong> regard input foo header 
as a map and perform lookup on the map with bar as key</p></td></tr><tr><td 
colspan="1" rowspan="1" 
class="confluenceTd"><p>header.foo.<strong>OGNL</strong></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>Object</p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><strong>Camel 2.3:</strong> refer to the 
input foo header and invoke its value using a Camel OGNL 
expression.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>in.header.foo.<strong>OGNL</strong></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>Object</p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><strong>Camel 2.3:</strong> refer to the 
input foo header and invoke its value using a Camel OGNL 
expression.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>in.headers.foo.<strong>OGNL</strong></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>Object</p></td><t
 d colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.3:</strong> 
refer to the input foo header and invoke its value using a Camel OGNL 
expression.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>out.header.foo</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Object</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>refer to the out header foo</p></td></tr><tr><td 
colspan="1" rowspan="1" class="confluenceTd"><p>out.header[foo]</p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>Object</p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><strong>Camel 2.9.2:</strong> refer to the 
out header foo</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>out.headers.foo</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Object</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>refer to the out header foo</p></td></tr><tr><td 
colspan="1" rowspan="1" class="confluenceTd"><p>out.headers[foo]</p
 ></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Object</p></td><td 
 >colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.9.2:</strong> 
 >refer to the out header foo</p></td></tr><tr><td colspan="1" rowspan="1" 
 >class="confluenceTd"><p>headerAs(<em>key</em>,<em>type</em>)</p></td><td 
 >colspan="1" rowspan="1" class="confluenceTd"><p>Type</p></td><td colspan="1" 
 >rowspan="1" class="confluenceTd"><p><strong>Camel 2.5:</strong> Converts the 
 >header to the given type determined by its classname</p></td></tr><tr><td 
 >colspan="1" rowspan="1" class="confluenceTd"><p>headers</p></td><td 
 >colspan="1" rowspan="1" class="confluenceTd"><p>Map</p></td><td colspan="1" 
 >rowspan="1" class="confluenceTd"><p><strong>Camel 2.9:</strong> refer to the 
 >input headers</p></td></tr><tr><td colspan="1" rowspan="1" 
 >class="confluenceTd"><p>in.headers</p></td><td colspan="1" rowspan="1" 
 >class="confluenceTd"><p>Map</p></td><td colspan="1" rowspan="1" 
 >class="confluenceTd"><p><strong>Camel 2.9:</strong> r
 efer to the input headers</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>property.foo</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Object</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><strong>Deprecated:</strong> refer to the foo property 
on the exchange</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd">exchangeProperty.foo</td><td colspan="1" rowspan="1" 
class="confluenceTd">Object</td><td colspan="1" rowspan="1" 
class="confluenceTd"><span><strong>Camel 2.15:</strong> refer to the foo 
property on the exchange</span></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>property[foo]</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Object</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><strong>Deprecated:</strong> refer to the foo property 
on the exchange</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><span>exchangeProperty[foo]</span></td><td colspan="1" 
rowspan="
 1" class="confluenceTd">Object</td><td colspan="1" rowspan="1" 
class="confluenceTd"><strong>Camel 2.15:</strong><span> refer to the foo 
property on the exchange</span></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>property.foo.<strong>OGNL</strong></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>Object</p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><strong>Deprecated:</strong> refer to the 
foo property on the exchange and invoke its value using a Camel OGNL 
expression.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><span>exchangeProperty.foo.</span><strong>OGNL</strong></td><td
 colspan="1" rowspan="1" class="confluenceTd">Object</td><td colspan="1" 
rowspan="1" class="confluenceTd"><strong>Camel 2.15:</strong><span> refer to 
the foo property on the exchange and invoke its value using a Camel OGNL 
expression.</span></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>sys.foo</p></td><td colspan="1" rowspan="1"
  class="confluenceTd"><p>String</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>refer to the system property</p></td></tr><tr><td 
colspan="1" rowspan="1" class="confluenceTd"><p>sysenv.foo</p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>String</p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><strong>Camel 2.3:</strong> refer to the 
system environment</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>exception</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Object</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><strong>Camel 2.4:</strong> Refer to the exception 
object on the exchange, is <strong>null</strong> if no exception set on 
exchange. Will fallback and grab caught exceptions 
(<code>Exchange.EXCEPTION_CAUGHT</code>) if the Exchange has 
any.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>exception.<strong>OGNL</strong></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>Ob
 ject</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 
2.4:</strong> Refer to the exchange exception invoked using a Camel OGNL 
expression object</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>exception.message</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>String</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Refer to the exception.message on the exchange, is 
<strong>null</strong> if no exception set on exchange. Will fallback and grab 
caught exceptions (<code>Exchange.EXCEPTION_CAUGHT</code>) if the Exchange has 
any.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>exception.stacktrace</p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>String</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><strong>Camel 2.6.</strong> Refer to the 
exception.stracktrace on the exchange, is <strong>null</strong> if no exception 
set on exchange. Will fallback and grab caught exceptions (<co
 de>Exchange.EXCEPTION_CAUGHT</code>) if the Exchange has 
any.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>date:<em>command:pattern</em></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>String</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Date formatting using the 
<code>java.text.SimpleDataFormat</code> patterns. Supported commands are: 
<strong>now</strong> for current timestamp, <strong>in.header.xxx</strong> or 
<strong>header.xxx</strong> to use the Date object in the IN header with the 
key xxx. <strong>out.header.xxx</strong> to use the Date object in the OUT 
header with the key xxx.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>bean:<em>bean expression</em></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>Object</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Invoking a bean expression using the <a shape="rect" 
href="bean.html">Bean</a> language. Specifying a method name you must use d
 ot as separator. We also support the ?method=methodname syntax that is used by 
the <a shape="rect" href="bean.html">Bean</a> component.</p></td></tr><tr><td 
colspan="1" rowspan="1" 
class="confluenceTd"><p>properties:<em>locations:key</em></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>String</p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><strong>Deprecated (use properties-location 
instead) Camel 2.3:</strong> Lookup a property with the given key. The 
<code>locations</code> option is optional. See more at <a shape="rect" 
href="using-propertyplaceholder.html">Using 
PropertyPlaceholder</a>.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>properties-location:<em><a shape="rect" 
class="external-link" href="http://locationskey"; 
rel="nofollow">locations:key</a></em></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>String</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><strong>Camel 2.14.1:</strong> Lookup a property with
  the given key. The <code>locations</code> option is optional. See more at <a 
shape="rect" href="using-propertyplaceholder.html">Using 
PropertyPlaceholder</a>.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd">properties:key:default</td><td colspan="1" rowspan="1" 
class="confluenceTd">String</td><td colspan="1" rowspan="1" 
class="confluenceTd"><strong>Camel 2.14.1</strong>: Lookup a property with the 
given key. If the key does not exists or has no value, then an optional default 
value can be specified.</td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>routeId</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>String</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><strong>Camel 2.11:</strong> Returns the id of the 
current route the <a shape="rect" href="exchange.html">Exchange</a> is being 
routed.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>threadName</p></td><td colspan="1" rowspan="1" 
class="confluenceTd">
 <p>String</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><strong>Camel 2.3:</strong> Returns the name of the 
current thread. Can be used for logging purpose.</p></td></tr><tr><td 
colspan="1" rowspan="1" class="confluenceTd"><p>ref:xxx</p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>Object</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><strong>Camel 2.6:</strong> To lookup a bean from the 
<a shape="rect" href="registry.html">Registry</a> with the given 
id.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>type:name.field</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Object</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><strong>Camel 2.11:</strong> To refer to a type or 
field by its FQN name. To refer to a field you can append .FIELD_NAME. For 
example you can refer to the constant field from Exchange as: 
<code>org.apache.camel.Exchange.FILE_NAME</code></p></td><td colspan="1" 
rowspan="1" class="conflue
 nceTd"><p>.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>null</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>null</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><strong>Camel 2.12.3:</strong> represents a 
<strong>null</strong></p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd">random<em>(value)</em></td><td colspan="1" rowspan="1" 
class="confluenceTd"><span>Integer</span></td><td colspan="1" rowspan="1" 
class="confluenceTd"><strong>Camel 2.16.0: </strong>returns a random integer 
value between 0 (included) and <em>value </em>(excluded)</td></tr><tr><td 
colspan="1" rowspan="1" 
class="confluenceTd"><span>random</span><em>(min,max)</em></td><td colspan="1" 
rowspan="1" class="confluenceTd"><span>Integer</span></td><td colspan="1" 
rowspan="1" class="confluenceTd"><strong>Camel 2.16.0: </strong><span>returns a 
random integer value between <em>min</em> (included) and </span><em>max 
</em><span>(excluded)</span></td></tr></tbody
 ></table></div></div><h3 id="BookInOnePage-OGNLexpressionsupport">OGNL 
 >expression support</h3><p><strong>Available as of Camel 2.3</strong></p><div 
 >class="confluence-information-macro 
 >confluence-information-macro-information"><span class="aui-icon 
 >aui-icon-small aui-iconfont-info 
 >confluence-information-macro-icon"></span><div 
 >class="confluence-information-macro-body"><p>Camel's OGNL support is for 
 >invoking methods only. You cannot access fields.<br clear="none"> From 
 ><strong>Camel 2.11.1</strong> onwards we added special support for accessing 
 >the length field of Java arrays.</p></div></div><p>The <a shape="rect" 
 >href="simple.html">Simple</a> and <a shape="rect" href="bean.html">Bean</a> 
 >language now supports a Camel OGNL notation for invoking beans in a chain 
 >like fashion.<br clear="none"> Suppose the Message IN body contains a POJO 
 >which has a <code>getAddress()</code> method.</p><p>Then you can use Camel 
 >OGNL notation to access the address object:</p><div class="code panel pdl" st
 yle="border-width: 1px;"><div class="codeContent panelContent pdl">
 <script class="brush: java; gutter: false; theme: Default" 
type="syntaxhighlighter"><![CDATA[simple(&quot;${body.address}&quot;)
 simple(&quot;${body.address.street}&quot;)
 simple(&quot;${body.address.zip}&quot;)
@@ -17791,11 +17791,11 @@ template.send(&quot;direct:alias-verify&
 ]]></script>
 </div></div><p></p><h3 id="BookInOnePage-SeeAlso.28">See Also</h3>
 <ul><li><a shape="rect" href="configuring-camel.html">Configuring 
Camel</a></li><li><a shape="rect" 
href="component.html">Component</a></li><li><a shape="rect" 
href="endpoint.html">Endpoint</a></li><li><a shape="rect" 
href="getting-started.html">Getting Started</a></li></ul><ul><li><a 
shape="rect" href="crypto.html">Crypto</a> Crypto is also available as a <a 
shape="rect" href="data-format.html">Data Format</a></li></ul> <h2 
id="BookInOnePage-CXFComponent">CXF Component</h2><div 
class="confluence-information-macro confluence-information-macro-note"><span 
class="aui-icon aui-icon-small aui-iconfont-warning 
confluence-information-macro-icon"></span><div 
class="confluence-information-macro-body"><p>When using CXF as a consumer, the 
<a shape="rect" href="cxf-bean-component.html">CXF Bean Component</a> allows 
you to factor out how message payloads are received from their processing as a 
RESTful or SOAP web service. This has the potential of using a multitude of 
transports to consume web 
 services. The bean component's configuration is also simpler and provides the 
fastest method to implement web services using Camel and 
CXF.</p></div></div><div class="confluence-information-macro 
confluence-information-macro-tip"><span class="aui-icon aui-icon-small 
aui-iconfont-approve confluence-information-macro-icon"></span><div 
class="confluence-information-macro-body"><p>When using CXF in streaming modes 
(see DataFormat option), then also read about <a shape="rect" 
href="stream-caching.html">Stream caching</a>.</p></div></div><p>The 
<strong>cxf:</strong> component provides integration with <a shape="rect" 
href="http://cxf.apache.org";>Apache CXF</a> for connecting to JAX-WS services 
hosted in CXF.</p><p><style type="text/css">/*<![CDATA[*/
-div.rbtoc1437574736517 {padding: 0px;}
-div.rbtoc1437574736517 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1437574736517 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1437585557581 {padding: 0px;}
+div.rbtoc1437585557581 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1437585557581 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style></p><div class="toc-macro rbtoc1437574736517">
+/*]]>*/</style></p><div class="toc-macro rbtoc1437585557581">
 <ul class="toc-indentation"><li><a shape="rect" 
href="#BookInOnePage-CXFComponent">CXF Component</a>
 <ul class="toc-indentation"><li><a shape="rect" 
href="#BookInOnePage-URIformat">URI format</a></li><li><a shape="rect" 
href="#BookInOnePage-Options">Options</a>
 <ul class="toc-indentation"><li><a shape="rect" 
href="#BookInOnePage-Thedescriptionsofthedataformats">The descriptions of the 
dataformats</a>


Reply via email to