Author: buildbot
Date: Tue Dec  2 12:20:00 2014
New Revision: 931327

Log:
Production update by buildbot for camel

Modified:
    websites/production/camel/content/book-dataformat-appendix.html
    websites/production/camel/content/book-in-one-page.html
    websites/production/camel/content/cache/main.pageCache
    websites/production/camel/content/camel-2150-release.html
    websites/production/camel/content/rest-dsl.html
    websites/production/camel/content/xmlsecurity-dataformat.html

Modified: websites/production/camel/content/book-dataformat-appendix.html
==============================================================================
--- websites/production/camel/content/book-dataformat-appendix.html (original)
+++ websites/production/camel/content/book-dataformat-appendix.html Tue Dec  2 
12:20:00 2014
@@ -2068,7 +2068,7 @@ public class BindyComplexCsvUnmarshallTe
 </dependency>
 ]]></script>
 </div></div>
-<h2 id="BookDataFormatAppendix-XMLSecurityDataFormat">XMLSecurity Data 
Format</h2><p>The XMLSecurity Data Format facilitates encryption and decryption 
of XML payloads at the Document, Element, and Element Content levels (including 
simultaneous multi-node encryption/decryption using XPath). To sign messages 
using the XML Signature specification, please see the Camel XML Security <a 
shape="rect" href="xml-security-component.html">component</a>.</p><p>The 
encryption capability is based on formats supported using the Apache XML 
Security (Santuario) project. Symmetric encryption/decryption is currently 
supported using Triple-DES and AES (128, 192, and 256) encryption formats. 
Additional formats can be easily added later as needed. This capability allows 
Camel users to encrypt/decrypt payloads while being dispatched or received 
along a route.</p><p><strong>Available as of Camel 2.9</strong><br 
clear="none"> The XMLSecurity Data Format supports asymmetric key encryption. 
In this encryption
  model a symmetric key is generated and used to perform XML content encryption 
or decryption. This "content encryption key" is then itself encrypted using an 
asymmetric encryption algorithm that leverages the recipient's public key as 
the "key encryption key". Use of an asymmetric key encryption algorithm ensures 
that only the holder of the recipient's private key can access the generated 
symmetric encryption key. Thus, only the private key holder can decode the 
message. The XMLSecurity Data Format handles all of the logic required to 
encrypt and decrypt the message content and encryption key(s) using asymmetric 
key encryption.</p><p>The XMLSecurity Data Format also has improved support for 
namespaces when processing the XPath queries that select content for 
encryption. A namespace definition mapping can be included as part of the data 
format configuration. This enables true namespace matching, even if the prefix 
values in the XPath query and the target xml document are not equivale
 nt strings.</p><h3 id="BookDataFormatAppendix-BasicOptions">Basic 
Options</h3><div class="table-wrap"><table 
class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Option</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Default</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>secureTag</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>The XPath reference to the XML 
Element selected for encryption/decryption. If no tag is specified, the entire 
payload is encrypted/decrypted.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>secureTagContents</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>A boolean value to specify whether the XML 
 Element is to be encrypted or the contents of the XML 
Element</p><ul><li><code>false</code> = Element Level</li><li><code>true</code> 
= Element Content Level</li></ul></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>passPhrase</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>A String used as passPhrase to 
encrypt/decrypt content. The passPhrase has to be provided. If no passPhrase is 
specified, a default passPhrase is used. The passPhrase needs to be put 
together in conjunction with the appropriate encryption algorithm. For example 
using <code>TRIPLEDES</code> the passPhase can be a <code>"Only another 24 Byte 
key"</code></p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>xmlCipherAlgorithm</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>TRIPLEDES</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>The 
 cipher algorithm to be used for encryption/decryption of the XML message 
content. The available choices 
are:</p><ul><li><code>XMLCipher.TRIPLEDES</code></li><li><code>XMLCipher.AES_128</code></li><li><code>XMLCipher.AES_128_GCM</code>
 <strong>Camel 
2.12</strong></li><li><code>XMLCipher.AES_192</code></li><li><code>XMLCipher.AES_192_GCM</code>
 <strong>Camel 
2.12</strong></li><li><code>XMLCipher.AES_256</code></li><li><code>XMLCipher.AES_256_GCM</code>
 <strong>Camel 2.12</strong></li><li>XMLCipher.SEED_128 <strong>Camel 
2.12</strong></li><li>XMLCipher.CAMELLIA_128, XMLCipher.CAMELLIA_192, 
XMLCipher.CAMELLIA_256 <strong>Camel 2.12</strong></li></ul></td></tr><tr><td 
colspan="1" rowspan="1" 
class="confluenceTd"><p><code>namespaces</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>A map of namespace values indexed by 
prefix. The index values must match the prefixes used in the <code>secureTag</
 code> XPath query.</p></td></tr></tbody></table></div><h3 
id="BookDataFormatAppendix-AsymmetricEncryptionOptions">Asymmetric Encryption 
Options</h3><p>These options can be applied in addition to relevant the Basic 
options to use asymmetric key encryption.</p><div class="table-wrap"><table 
class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Option</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Default</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>recipientKeyAlias</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>The key alias to be used when 
retrieving the recipient's public or private key from a KeyStore when 
performing asymmetric key encryption or decryption.</p></td></tr><tr><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>keyCiphe
 rAlgorithm</code></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><strong>Camel 2.12</strong> 
<code>XMLCipher.RSA_OAEP</code></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>The cipher algorithm to be used for 
encryption/decryption of the asymmetric key. The available choices 
are:</p><ul><li><code>XMLCipher.RSA_v1dot5</code></li><li><code>XMLCipher.RSA_OAEP</code></li><li><code>XMLCipher.RSA_OAEP_11</code></li></ul></td></tr><tr><td
 colspan="1" rowspan="1" 
class="confluenceTd"><p><code>keyOrTrustStoreParameters</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>Configuration options for 
creating and loading a KeyStore instance that represents the sender's 
trustStore or recipient's keyStore.</p></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>keyPassword</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td
 ><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.10.2 / 
 >2.11:</strong> The password to be used for retrieving the private key from 
 >the KeyStore. This key is used for asymmetric 
 >decryption.</p></td></tr><tr><td colspan="1" rowspan="1" 
 >class="confluenceTd"><p><code>digestAlgorithm</code></p></td><td colspan="1" 
 >rowspan="1" class="confluenceTd"><p>XMLCipher.SHA1</p></td><td colspan="1" 
 >rowspan="1" class="confluenceTd"><p><strong>Camel 2.12</strong> The digest 
 >algorithm to use with the RSA OAEP algorithm. The available choices 
 >are:</p><ul><li><code>XMLCipher.SHA1</code></li><li><code>XMLCipher.SHA256</code></li><li><code>XMLCipher.SHA512</code></li></ul></td></tr><tr><td
 > colspan="1" rowspan="1" 
 >class="confluenceTd"><p><code>mgfAlgorithm</code></p></td><td colspan="1" 
 >rowspan="1" class="confluenceTd"><p>EncryptionConstants.MGF1_SHA1</p></td><td 
 >colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.12</strong> 
 >The MGF Algorithm to use with the RSA OAEP algori
 thm. The available choices 
are:</p><ul><li><code>EncryptionConstants.MGF1_SHA1</code></li><li><code>EncryptionConstants.MGF1_SHA256</code></li><li><code>EncryptionConstants.MGF1_SHA512</code></li></ul></td></tr></tbody></table></div><h4
 id="BookDataFormatAppendix-KeyCipherAlgorithm">Key Cipher Algorithm</h4><p>As 
of Camel 2.12.0, the default Key Cipher Algorithm is now XMLCipher.RSA_OAEP 
instead of XMLCipher.RSA_v1dot5. Usage of XMLCipher.RSA_v1dot5 is discouraged 
due to various attacks. Requests that use RSA v1.5 as the key cipher algorithm 
will be rejected unless it has been explicitly configured as the key cipher 
algorithm.</p><h3 id="BookDataFormatAppendix-Marshal.2">Marshal</h3><p>In order 
to encrypt the payload, the <code>marshal</code> processor needs to be applied 
on the route followed by the <strong><code>secureXML()</code></strong> 
tag.</p><h3 id="BookDataFormatAppendix-Unmarshal.2">Unmarshal</h3><p>In order 
to decrypt the payload, the <code>unmarshal</code> processor need
 s to be applied on the route followed by the 
<strong><code>secureXML()</code></strong> tag.</p><h3 
id="BookDataFormatAppendix-Examples">Examples</h3><p>Given below are several 
examples of how marshalling could be performed at the Document, Element, and 
Content levels.</p><h4 
id="BookDataFormatAppendix-FullPayloadencryption/decryption">Full Payload 
encryption/decryption</h4><div class="code panel pdl" style="border-width: 
1px;"><div class="codeContent panelContent pdl">
+<h2 id="BookDataFormatAppendix-XMLSecurityDataFormat">XMLSecurity Data 
Format</h2><p>The XMLSecurity Data Format facilitates encryption and decryption 
of XML payloads at the Document, Element, and Element Content levels (including 
simultaneous multi-node encryption/decryption using XPath). To sign messages 
using the XML Signature specification, please see the Camel XML Security <a 
shape="rect" href="xml-security-component.html">component</a>.</p><p>The 
encryption capability is based on formats supported using the Apache XML 
Security (Santuario) project. Symmetric encryption/decryption is currently 
supported using Triple-DES and AES (128, 192, and 256) encryption formats. 
Additional formats can be easily added later as needed. This capability allows 
Camel users to encrypt/decrypt payloads while being dispatched or received 
along a route.</p><p><strong>Available as of Camel 2.9</strong><br 
clear="none"> The XMLSecurity Data Format supports asymmetric key encryption. 
In this encryption
  model a symmetric key is generated and used to perform XML content encryption 
or decryption. This "content encryption key" is then itself encrypted using an 
asymmetric encryption algorithm that leverages the recipient's public key as 
the "key encryption key". Use of an asymmetric key encryption algorithm ensures 
that only the holder of the recipient's private key can access the generated 
symmetric encryption key. Thus, only the private key holder can decode the 
message. The XMLSecurity Data Format handles all of the logic required to 
encrypt and decrypt the message content and encryption key(s) using asymmetric 
key encryption.</p><p>The XMLSecurity Data Format also has improved support for 
namespaces when processing the XPath queries that select content for 
encryption. A namespace definition mapping can be included as part of the data 
format configuration. This enables true namespace matching, even if the prefix 
values in the XPath query and the target xml document are not equivale
 nt strings.</p><h3 id="BookDataFormatAppendix-BasicOptions">Basic 
Options</h3><div class="table-wrap"><table 
class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Option</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Default</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>secureTag</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>The XPath reference to the XML 
Element selected for encryption/decryption. If no tag is specified, the entire 
payload is encrypted/decrypted.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>secureTagContents</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>A boolean value to specify whether the XML 
 Element is to be encrypted or the contents of the XML 
Element</p><ul><li><code>false</code> = Element Level</li><li><code>true</code> 
= Element Content Level</li></ul></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>passPhrase</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>A String used as passPhrase to 
encrypt/decrypt content. The passPhrase has to be provided. If no passPhrase is 
specified, a default passPhrase is used. The passPhrase needs to be put 
together in conjunction with the appropriate encryption algorithm. For example 
using <code>TRIPLEDES</code> the passPhase can be a <code>"Only another 24 Byte 
key"</code></p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>xmlCipherAlgorithm</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>TRIPLEDES</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>The 
 cipher algorithm to be used for encryption/decryption of the XML message 
content. The available choices 
are:</p><ul><li><code>XMLCipher.TRIPLEDES</code></li><li><code>XMLCipher.AES_128</code></li><li><code>XMLCipher.AES_128_GCM</code>
 <strong>Camel 
2.12</strong></li><li><code>XMLCipher.AES_192</code></li><li><code>XMLCipher.AES_192_GCM</code>
 <strong>Camel 
2.12</strong></li><li><code>XMLCipher.AES_256</code></li><li><code>XMLCipher.AES_256_GCM</code>
 <strong>Camel 2.12</strong></li><li>XMLCipher.SEED_128 <strong>Camel 
2.15</strong></li><li>XMLCipher.CAMELLIA_128, XMLCipher.CAMELLIA_192, 
XMLCipher.CAMELLIA_256 <strong>Camel 2.15</strong></li></ul></td></tr><tr><td 
colspan="1" rowspan="1" 
class="confluenceTd"><p><code>namespaces</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>A map of namespace values indexed by 
prefix. The index values must match the prefixes used in the <code>secureTag</
 code> XPath query.</p></td></tr></tbody></table></div><h3 
id="BookDataFormatAppendix-AsymmetricEncryptionOptions">Asymmetric Encryption 
Options</h3><p>These options can be applied in addition to relevant the Basic 
options to use asymmetric key encryption.</p><div class="table-wrap"><table 
class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Option</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Default</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>recipientKeyAlias</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>The key alias to be used when 
retrieving the recipient's public or private key from a KeyStore when 
performing asymmetric key encryption or decryption.</p></td></tr><tr><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>keyCiphe
 rAlgorithm</code></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><strong>Camel 2.12</strong> 
<code>XMLCipher.RSA_OAEP</code></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>The cipher algorithm to be used for 
encryption/decryption of the asymmetric key. The available choices 
are:</p><ul><li><code>XMLCipher.RSA_v1dot5</code></li><li><code>XMLCipher.RSA_OAEP</code></li><li><code>XMLCipher.RSA_OAEP_11</code></li></ul></td></tr><tr><td
 colspan="1" rowspan="1" 
class="confluenceTd"><p><code>keyOrTrustStoreParameters</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>Configuration options for 
creating and loading a KeyStore instance that represents the sender's 
trustStore or recipient's keyStore.</p></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>keyPassword</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td
 ><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.10.2 / 
 >2.11:</strong> The password to be used for retrieving the private key from 
 >the KeyStore. This key is used for asymmetric 
 >decryption.</p></td></tr><tr><td colspan="1" rowspan="1" 
 >class="confluenceTd"><p><code>digestAlgorithm</code></p></td><td colspan="1" 
 >rowspan="1" class="confluenceTd"><p>XMLCipher.SHA1</p></td><td colspan="1" 
 >rowspan="1" class="confluenceTd"><p><strong>Camel 2.12</strong> The digest 
 >algorithm to use with the RSA OAEP algorithm. The available choices 
 >are:</p><ul><li><code>XMLCipher.SHA1</code></li><li><code>XMLCipher.SHA256</code></li><li><code>XMLCipher.SHA512</code></li></ul></td></tr><tr><td
 > colspan="1" rowspan="1" 
 >class="confluenceTd"><p><code>mgfAlgorithm</code></p></td><td colspan="1" 
 >rowspan="1" class="confluenceTd"><p>EncryptionConstants.MGF1_SHA1</p></td><td 
 >colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.12</strong> 
 >The MGF Algorithm to use with the RSA OAEP algori
 thm. The available choices 
are:</p><ul><li><code>EncryptionConstants.MGF1_SHA1</code></li><li><code>EncryptionConstants.MGF1_SHA256</code></li><li><code>EncryptionConstants.MGF1_SHA512</code></li></ul></td></tr><tr><td
 colspan="1" rowspan="1" 
class="confluenceTd">addKeyValueForEncryptedKey</td><td colspan="1" rowspan="1" 
class="confluenceTd">true</td><td colspan="1" rowspan="1" 
class="confluenceTd"><strong>Camel 2.14.1 </strong>Whether to add the public 
key used to encrypt the session key as a KeyValue in the EncryptedKey structure 
or not.</td></tr></tbody></table></div><h4 
id="BookDataFormatAppendix-KeyCipherAlgorithm">Key Cipher Algorithm</h4><p>As 
of Camel 2.12.0, the default Key Cipher Algorithm is now XMLCipher.RSA_OAEP 
instead of XMLCipher.RSA_v1dot5. Usage of XMLCipher.RSA_v1dot5 is discouraged 
due to various attacks. Requests that use RSA v1.5 as the key cipher algorithm 
will be rejected unless it has been explicitly configured as the key cipher 
algorithm.</p><h3 id="BookDat
 aFormatAppendix-Marshal.2">Marshal</h3><p>In order to encrypt the payload, the 
<code>marshal</code> processor needs to be applied on the route followed by the 
<strong><code>secureXML()</code></strong> tag.</p><h3 
id="BookDataFormatAppendix-Unmarshal.2">Unmarshal</h3><p>In order to decrypt 
the payload, the <code>unmarshal</code> processor needs to be applied on the 
route followed by the <strong><code>secureXML()</code></strong> tag.</p><h3 
id="BookDataFormatAppendix-Examples">Examples</h3><p>Given below are several 
examples of how marshalling could be performed at the Document, Element, and 
Content levels.</p><h4 
id="BookDataFormatAppendix-FullPayloadencryption/decryption">Full Payload 
encryption/decryption</h4><div class="code panel pdl" style="border-width: 
1px;"><div class="codeContent panelContent pdl">
 <script class="theme: Default; brush: java; gutter: false" 
type="syntaxhighlighter"><![CDATA[from(&quot;direct:start&quot;)
     .marshal().secureXML()
     .unmarshal().secureXML()

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 Tue Dec  2 12:20:00 
2014
@@ -4120,11 +4120,11 @@ While not actual tutorials you might fin
                     </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.rbtoc1417450696820 {padding: 0px;}
-div.rbtoc1417450696820 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1417450696820 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1417522693278 {padding: 0px;}
+div.rbtoc1417522693278 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1417522693278 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style></p><div class="toc-macro rbtoc1417450696820">
+/*]]>*/</style></p><div class="toc-macro rbtoc1417522693278">
 <ul class="toc-indentation"><li><a shape="rect" 
href="#Tutorial-JmsRemoting-TutorialonSpringRemotingwithJMS">Tutorial on Spring 
Remoting with JMS</a></li><li><a shape="rect" 
href="#Tutorial-JmsRemoting-Preface">Preface</a></li><li><a shape="rect" 
href="#Tutorial-JmsRemoting-Prerequisites">Prerequisites</a></li><li><a 
shape="rect" 
href="#Tutorial-JmsRemoting-Distribution">Distribution</a></li><li><a 
shape="rect" href="#Tutorial-JmsRemoting-About">About</a></li><li><a 
shape="rect" href="#Tutorial-JmsRemoting-CreatetheCamelProject">Create the 
Camel Project</a>
 <ul class="toc-indentation"><li><a shape="rect" 
href="#Tutorial-JmsRemoting-UpdatethePOMwithDependencies">Update the POM with 
Dependencies</a></li></ul>
 </li><li><a shape="rect" href="#Tutorial-JmsRemoting-WritingtheServer">Writing 
the Server</a>
@@ -6310,11 +6310,11 @@ So we completed the last piece in the pi
 
 
 <style type="text/css">/*<![CDATA[*/
-div.rbtoc1417450701223 {padding: 0px;}
-div.rbtoc1417450701223 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1417450701223 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1417522695738 {padding: 0px;}
+div.rbtoc1417522695738 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1417522695738 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style><div class="toc-macro rbtoc1417450701223">
+/*]]>*/</style><div class="toc-macro rbtoc1417522695738">
 <ul class="toc-indentation"><li><a shape="rect" 
href="#Tutorial-AXIS-Camel-TutorialusingAxis1.4withApacheCamel">Tutorial using 
Axis 1.4 with Apache Camel</a>
 <ul class="toc-indentation"><li><a shape="rect" 
href="#Tutorial-AXIS-Camel-Prerequisites">Prerequisites</a></li><li><a 
shape="rect" 
href="#Tutorial-AXIS-Camel-Distribution">Distribution</a></li><li><a 
shape="rect" 
href="#Tutorial-AXIS-Camel-Introduction">Introduction</a></li><li><a 
shape="rect" href="#Tutorial-AXIS-Camel-SettinguptheprojecttorunAxis">Setting 
up the project to run Axis</a>
 <ul class="toc-indentation"><li><a shape="rect" 
href="#Tutorial-AXIS-Camel-Maven2">Maven 2</a></li><li><a shape="rect" 
href="#Tutorial-AXIS-Camel-wsdl">wsdl</a></li><li><a shape="rect" 
href="#Tutorial-AXIS-Camel-ConfiguringAxis">Configuring Axis</a></li><li><a 
shape="rect" href="#Tutorial-AXIS-Camel-RunningtheExample">Running the 
Example</a></li></ul>
@@ -12256,7 +12256,7 @@ public class BindyComplexCsvUnmarshallTe
 &lt;/dependency&gt;
 ]]></script>
 </div></div>
-<h2 id="BookInOnePage-XMLSecurityDataFormat">XMLSecurity Data 
Format</h2><p>The XMLSecurity Data Format facilitates encryption and decryption 
of XML payloads at the Document, Element, and Element Content levels (including 
simultaneous multi-node encryption/decryption using XPath). To sign messages 
using the XML Signature specification, please see the Camel XML Security <a 
shape="rect" href="xml-security-component.html">component</a>.</p><p>The 
encryption capability is based on formats supported using the Apache XML 
Security (Santuario) project. Symmetric encryption/decryption is currently 
supported using Triple-DES and AES (128, 192, and 256) encryption formats. 
Additional formats can be easily added later as needed. This capability allows 
Camel users to encrypt/decrypt payloads while being dispatched or received 
along a route.</p><p><strong>Available as of Camel 2.9</strong><br 
clear="none"> The XMLSecurity Data Format supports asymmetric key encryption. 
In this encryption model a 
 symmetric key is generated and used to perform XML content encryption or 
decryption. This "content encryption key" is then itself encrypted using an 
asymmetric encryption algorithm that leverages the recipient's public key as 
the "key encryption key". Use of an asymmetric key encryption algorithm ensures 
that only the holder of the recipient's private key can access the generated 
symmetric encryption key. Thus, only the private key holder can decode the 
message. The XMLSecurity Data Format handles all of the logic required to 
encrypt and decrypt the message content and encryption key(s) using asymmetric 
key encryption.</p><p>The XMLSecurity Data Format also has improved support for 
namespaces when processing the XPath queries that select content for 
encryption. A namespace definition mapping can be included as part of the data 
format configuration. This enables true namespace matching, even if the prefix 
values in the XPath query and the target xml document are not equivalent string
 s.</p><h3 id="BookInOnePage-BasicOptions">Basic Options</h3><div 
class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" 
rowspan="1" class="confluenceTh"><p>Option</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Default</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>secureTag</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>The XPath reference to the XML 
Element selected for encryption/decryption. If no tag is specified, the entire 
payload is encrypted/decrypted.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>secureTagContents</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>A boolean value to specify whether the XML 
Element is to be e
 ncrypted or the contents of the XML Element</p><ul><li><code>false</code> = 
Element Level</li><li><code>true</code> = Element Content 
Level</li></ul></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>passPhrase</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>A String used as passPhrase to 
encrypt/decrypt content. The passPhrase has to be provided. If no passPhrase is 
specified, a default passPhrase is used. The passPhrase needs to be put 
together in conjunction with the appropriate encryption algorithm. For example 
using <code>TRIPLEDES</code> the passPhase can be a <code>"Only another 24 Byte 
key"</code></p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>xmlCipherAlgorithm</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>TRIPLEDES</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>The cipher algorithm t
 o be used for encryption/decryption of the XML message content. The available 
choices 
are:</p><ul><li><code>XMLCipher.TRIPLEDES</code></li><li><code>XMLCipher.AES_128</code></li><li><code>XMLCipher.AES_128_GCM</code>
 <strong>Camel 
2.12</strong></li><li><code>XMLCipher.AES_192</code></li><li><code>XMLCipher.AES_192_GCM</code>
 <strong>Camel 
2.12</strong></li><li><code>XMLCipher.AES_256</code></li><li><code>XMLCipher.AES_256_GCM</code>
 <strong>Camel 2.12</strong></li><li>XMLCipher.SEED_128 <strong>Camel 
2.12</strong></li><li>XMLCipher.CAMELLIA_128, XMLCipher.CAMELLIA_192, 
XMLCipher.CAMELLIA_256 <strong>Camel 2.12</strong></li></ul></td></tr><tr><td 
colspan="1" rowspan="1" 
class="confluenceTd"><p><code>namespaces</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>A map of namespace values indexed by 
prefix. The index values must match the prefixes used in the 
<code>secureTag</code> XPath query.
 </p></td></tr></tbody></table></div><h3 
id="BookInOnePage-AsymmetricEncryptionOptions">Asymmetric Encryption 
Options</h3><p>These options can be applied in addition to relevant the Basic 
options to use asymmetric key encryption.</p><div class="table-wrap"><table 
class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Option</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Default</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>recipientKeyAlias</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>The key alias to be used when 
retrieving the recipient's public or private key from a KeyStore when 
performing asymmetric key encryption or decryption.</p></td></tr><tr><td 
colspan="1" rowspan="1" 
class="confluenceTd"><p><code>keyCipherAlgorithm</code></p></td><
 td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.12</strong> 
<code>XMLCipher.RSA_OAEP</code></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>The cipher algorithm to be used for 
encryption/decryption of the asymmetric key. The available choices 
are:</p><ul><li><code>XMLCipher.RSA_v1dot5</code></li><li><code>XMLCipher.RSA_OAEP</code></li><li><code>XMLCipher.RSA_OAEP_11</code></li></ul></td></tr><tr><td
 colspan="1" rowspan="1" 
class="confluenceTd"><p><code>keyOrTrustStoreParameters</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>Configuration options for 
creating and loading a KeyStore instance that represents the sender's 
trustStore or recipient's keyStore.</p></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>keyPassword</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td 
colspan="1" rowspan="1
 " class="confluenceTd"><p><strong>Camel 2.10.2 / 2.11:</strong> The password 
to be used for retrieving the private key from the KeyStore. This key is used 
for asymmetric decryption.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>digestAlgorithm</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>XMLCipher.SHA1</p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><strong>Camel 2.12</strong> The digest 
algorithm to use with the RSA OAEP algorithm. The available choices 
are:</p><ul><li><code>XMLCipher.SHA1</code></li><li><code>XMLCipher.SHA256</code></li><li><code>XMLCipher.SHA512</code></li></ul></td></tr><tr><td
 colspan="1" rowspan="1" 
class="confluenceTd"><p><code>mgfAlgorithm</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>EncryptionConstants.MGF1_SHA1</p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.12</strong> The 
MGF Algorithm to use with the RSA OAEP algorithm. The available choices 
 
are:</p><ul><li><code>EncryptionConstants.MGF1_SHA1</code></li><li><code>EncryptionConstants.MGF1_SHA256</code></li><li><code>EncryptionConstants.MGF1_SHA512</code></li></ul></td></tr></tbody></table></div><h4
 id="BookInOnePage-KeyCipherAlgorithm">Key Cipher Algorithm</h4><p>As of Camel 
2.12.0, the default Key Cipher Algorithm is now XMLCipher.RSA_OAEP instead of 
XMLCipher.RSA_v1dot5. Usage of XMLCipher.RSA_v1dot5 is discouraged due to 
various attacks. Requests that use RSA v1.5 as the key cipher algorithm will be 
rejected unless it has been explicitly configured as the key cipher 
algorithm.</p><h3 id="BookInOnePage-Marshal.2">Marshal</h3><p>In order to 
encrypt the payload, the <code>marshal</code> processor needs to be applied on 
the route followed by the <strong><code>secureXML()</code></strong> tag.</p><h3 
id="BookInOnePage-Unmarshal.2">Unmarshal</h3><p>In order to decrypt the 
payload, the <code>unmarshal</code> processor needs to be applied on the route 
followed by the <strong><
 code>secureXML()</code></strong> tag.</p><h3 
id="BookInOnePage-Examples.5">Examples</h3><p>Given below are several examples 
of how marshalling could be performed at the Document, Element, and Content 
levels.</p><h4 id="BookInOnePage-FullPayloadencryption/decryption">Full Payload 
encryption/decryption</h4><div class="code panel pdl" style="border-width: 
1px;"><div class="codeContent panelContent pdl">
+<h2 id="BookInOnePage-XMLSecurityDataFormat">XMLSecurity Data 
Format</h2><p>The XMLSecurity Data Format facilitates encryption and decryption 
of XML payloads at the Document, Element, and Element Content levels (including 
simultaneous multi-node encryption/decryption using XPath). To sign messages 
using the XML Signature specification, please see the Camel XML Security <a 
shape="rect" href="xml-security-component.html">component</a>.</p><p>The 
encryption capability is based on formats supported using the Apache XML 
Security (Santuario) project. Symmetric encryption/decryption is currently 
supported using Triple-DES and AES (128, 192, and 256) encryption formats. 
Additional formats can be easily added later as needed. This capability allows 
Camel users to encrypt/decrypt payloads while being dispatched or received 
along a route.</p><p><strong>Available as of Camel 2.9</strong><br 
clear="none"> The XMLSecurity Data Format supports asymmetric key encryption. 
In this encryption model a 
 symmetric key is generated and used to perform XML content encryption or 
decryption. This "content encryption key" is then itself encrypted using an 
asymmetric encryption algorithm that leverages the recipient's public key as 
the "key encryption key". Use of an asymmetric key encryption algorithm ensures 
that only the holder of the recipient's private key can access the generated 
symmetric encryption key. Thus, only the private key holder can decode the 
message. The XMLSecurity Data Format handles all of the logic required to 
encrypt and decrypt the message content and encryption key(s) using asymmetric 
key encryption.</p><p>The XMLSecurity Data Format also has improved support for 
namespaces when processing the XPath queries that select content for 
encryption. A namespace definition mapping can be included as part of the data 
format configuration. This enables true namespace matching, even if the prefix 
values in the XPath query and the target xml document are not equivalent string
 s.</p><h3 id="BookInOnePage-BasicOptions">Basic Options</h3><div 
class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" 
rowspan="1" class="confluenceTh"><p>Option</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Default</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>secureTag</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>The XPath reference to the XML 
Element selected for encryption/decryption. If no tag is specified, the entire 
payload is encrypted/decrypted.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>secureTagContents</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>A boolean value to specify whether the XML 
Element is to be e
 ncrypted or the contents of the XML Element</p><ul><li><code>false</code> = 
Element Level</li><li><code>true</code> = Element Content 
Level</li></ul></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>passPhrase</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>A String used as passPhrase to 
encrypt/decrypt content. The passPhrase has to be provided. If no passPhrase is 
specified, a default passPhrase is used. The passPhrase needs to be put 
together in conjunction with the appropriate encryption algorithm. For example 
using <code>TRIPLEDES</code> the passPhase can be a <code>"Only another 24 Byte 
key"</code></p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>xmlCipherAlgorithm</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>TRIPLEDES</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>The cipher algorithm t
 o be used for encryption/decryption of the XML message content. The available 
choices 
are:</p><ul><li><code>XMLCipher.TRIPLEDES</code></li><li><code>XMLCipher.AES_128</code></li><li><code>XMLCipher.AES_128_GCM</code>
 <strong>Camel 
2.12</strong></li><li><code>XMLCipher.AES_192</code></li><li><code>XMLCipher.AES_192_GCM</code>
 <strong>Camel 
2.12</strong></li><li><code>XMLCipher.AES_256</code></li><li><code>XMLCipher.AES_256_GCM</code>
 <strong>Camel 2.12</strong></li><li>XMLCipher.SEED_128 <strong>Camel 
2.15</strong></li><li>XMLCipher.CAMELLIA_128, XMLCipher.CAMELLIA_192, 
XMLCipher.CAMELLIA_256 <strong>Camel 2.15</strong></li></ul></td></tr><tr><td 
colspan="1" rowspan="1" 
class="confluenceTd"><p><code>namespaces</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>A map of namespace values indexed by 
prefix. The index values must match the prefixes used in the 
<code>secureTag</code> XPath query.
 </p></td></tr></tbody></table></div><h3 
id="BookInOnePage-AsymmetricEncryptionOptions">Asymmetric Encryption 
Options</h3><p>These options can be applied in addition to relevant the Basic 
options to use asymmetric key encryption.</p><div class="table-wrap"><table 
class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Option</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Default</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>recipientKeyAlias</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>The key alias to be used when 
retrieving the recipient's public or private key from a KeyStore when 
performing asymmetric key encryption or decryption.</p></td></tr><tr><td 
colspan="1" rowspan="1" 
class="confluenceTd"><p><code>keyCipherAlgorithm</code></p></td><
 td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.12</strong> 
<code>XMLCipher.RSA_OAEP</code></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>The cipher algorithm to be used for 
encryption/decryption of the asymmetric key. The available choices 
are:</p><ul><li><code>XMLCipher.RSA_v1dot5</code></li><li><code>XMLCipher.RSA_OAEP</code></li><li><code>XMLCipher.RSA_OAEP_11</code></li></ul></td></tr><tr><td
 colspan="1" rowspan="1" 
class="confluenceTd"><p><code>keyOrTrustStoreParameters</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>Configuration options for 
creating and loading a KeyStore instance that represents the sender's 
trustStore or recipient's keyStore.</p></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>keyPassword</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td 
colspan="1" rowspan="1
 " class="confluenceTd"><p><strong>Camel 2.10.2 / 2.11:</strong> The password 
to be used for retrieving the private key from the KeyStore. This key is used 
for asymmetric decryption.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>digestAlgorithm</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>XMLCipher.SHA1</p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><strong>Camel 2.12</strong> The digest 
algorithm to use with the RSA OAEP algorithm. The available choices 
are:</p><ul><li><code>XMLCipher.SHA1</code></li><li><code>XMLCipher.SHA256</code></li><li><code>XMLCipher.SHA512</code></li></ul></td></tr><tr><td
 colspan="1" rowspan="1" 
class="confluenceTd"><p><code>mgfAlgorithm</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>EncryptionConstants.MGF1_SHA1</p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.12</strong> The 
MGF Algorithm to use with the RSA OAEP algorithm. The available choices 
 
are:</p><ul><li><code>EncryptionConstants.MGF1_SHA1</code></li><li><code>EncryptionConstants.MGF1_SHA256</code></li><li><code>EncryptionConstants.MGF1_SHA512</code></li></ul></td></tr><tr><td
 colspan="1" rowspan="1" 
class="confluenceTd">addKeyValueForEncryptedKey</td><td colspan="1" rowspan="1" 
class="confluenceTd">true</td><td colspan="1" rowspan="1" 
class="confluenceTd"><strong>Camel 2.14.1 </strong>Whether to add the public 
key used to encrypt the session key as a KeyValue in the EncryptedKey structure 
or not.</td></tr></tbody></table></div><h4 
id="BookInOnePage-KeyCipherAlgorithm">Key Cipher Algorithm</h4><p>As of Camel 
2.12.0, the default Key Cipher Algorithm is now XMLCipher.RSA_OAEP instead of 
XMLCipher.RSA_v1dot5. Usage of XMLCipher.RSA_v1dot5 is discouraged due to 
various attacks. Requests that use RSA v1.5 as the key cipher algorithm will be 
rejected unless it has been explicitly configured as the key cipher 
algorithm.</p><h3 id="BookInOnePage-Marshal.2">Marshal</h3><p>In 
 order to encrypt the payload, the <code>marshal</code> processor needs to be 
applied on the route followed by the <strong><code>secureXML()</code></strong> 
tag.</p><h3 id="BookInOnePage-Unmarshal.2">Unmarshal</h3><p>In order to decrypt 
the payload, the <code>unmarshal</code> processor needs to be applied on the 
route followed by the <strong><code>secureXML()</code></strong> tag.</p><h3 
id="BookInOnePage-Examples.5">Examples</h3><p>Given below are several examples 
of how marshalling could be performed at the Document, Element, and Content 
levels.</p><h4 id="BookInOnePage-FullPayloadencryption/decryption">Full Payload 
encryption/decryption</h4><div class="code panel pdl" style="border-width: 
1px;"><div class="codeContent panelContent pdl">
 <script class="theme: Default; brush: java; gutter: false" 
type="syntaxhighlighter"><![CDATA[from(&quot;direct:start&quot;)
     .marshal().secureXML()
     .unmarshal().secureXML()
@@ -19681,11 +19681,11 @@ template.send(&quot;direct:alias-verify&
                     </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.rbtoc1417450758811 {padding: 0px;}
-div.rbtoc1417450758811 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1417450758811 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1417522719277 {padding: 0px;}
+div.rbtoc1417522719277 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1417522719277 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style></p><div class="toc-macro rbtoc1417450758811">
+/*]]>*/</style></p><div class="toc-macro rbtoc1417522719277">
 <ul class="toc-indentation"><li><a shape="rect" href="#CXF-CXFComponent">CXF 
Component</a>
 <ul class="toc-indentation"><li><a shape="rect" href="#CXF-URIformat">URI 
format</a></li><li><a shape="rect" href="#CXF-Options">Options</a>
 <ul class="toc-indentation"><li><a shape="rect" 
href="#CXF-Thedescriptionsofthedataformats">The descriptions of the 
dataformats</a>

Modified: websites/production/camel/content/cache/main.pageCache
==============================================================================
Binary files - no diff available.

Modified: websites/production/camel/content/camel-2150-release.html
==============================================================================
--- websites/production/camel/content/camel-2150-release.html (original)
+++ websites/production/camel/content/camel-2150-release.html Tue Dec  2 
12:20:00 2014
@@ -84,7 +84,7 @@
        <tbody>
         <tr>
         <td valign="top" width="100%">
-<div class="wiki-content maincontent"><h1 
id="Camel2.15.0Release-Camel2.15.0release(currentlyinprogress)">Camel&#160;2.15.0
 release (currently in progress)</h1><div 
style="padding-right:20px;float:left;margin-left:-20px;"><p><img 
class="confluence-embedded-image confluence-external-resource" 
src="http://camel.apache.org/download.data/camel-box-v1.0-150x200.png"; 
data-image-src="http://camel.apache.org/download.data/camel-box-v1.0-150x200.png";></p></div><div
 style="min-height:200px">&#160;</div><h2 
id="Camel2.15.0Release-NewandNoteworthy">New and Noteworthy</h2><p>Welcome to 
the 2.15.0 release which approx XXX issues resolved (new features, improvements 
and bug fixes such as...)</p><ul><li><span>Component documentation now included 
in the built component JARs. And Java API and JMX API to access that 
documentation. And APIs to explain an endpoint uri and what all those 
configured options mean.&#160;</span></li><li><span>Component can now 
have&#160;associated&#160;label(s) which are use
 d for grouping components into: core, database, messaging, http, rest, 
etc.</span></li><li><span>Provide Configurer for user to configure the CXF 
conduit and CXF destination from Java code</span></li><li><span><span>Added a 
<code>DelegateEndpoint</code>&#160;interface into Camel 
API</span></span></li><li>Support to setup the SslContextParameters in the <a 
shape="rect" href="restlet.html">camel-restlet</a> component</li><li>Java DSL - 
Should support nested choice in doTry .. doCatch</li><li><a shape="rect" 
href="mongodb.html">MongoDb</a> component now <a shape="rect" 
class="external-link" 
href="https://issues.apache.org/jira/browse/CAMEL-7996";>stores OIDs</a>&#160;of 
the inserted records in the message header</li><li><a shape="rect" 
href="recipient-list.html">Recipient List</a> now supports specifying 
custom&#160;<a shape="rect" href="exchange-pattern.html">Exchange Pattern</a> 
in the endpoint ur's</li><li><a shape="rect" href="type-converter.html">Type 
Converter</a> to enum's is now
  case insensitive, so you can convert safely level=info to an enum with name 
Level.INFO etc.</li><li><a shape="rect" href="xslt.html">XSLT</a> and&#160;<a 
shape="rect" 
href="https://cwiki.apache.org/confluence/display/SM/Validation";>Validation</a> 
components now provides all their endpoint configurations in the endpoint, and 
not only in the component, making these components like any other 
components.</li><li>Made the <a shape="rect" href="karaf.html">Camel Karaf 
Commands</a> reusable by moving common code into 
a&#160;<code>camel-commands-core</code> module that SPI can extend and plugin 
Camel commands for other environments.</li><li>Further hardening of the&#160;<a 
shape="rect" href="sjms.html">SJMS</a>&#160;component.</li><li><a shape="rect" 
href="rest-dsl.html">Rest DSL</a> with embedded routes now supports <a 
shape="rect" href="exception-clause.html">onException</a>, <a shape="rect" 
href="intercept.html">intercept</a> etc in use for those embedded routes, just 
like any regular r
 outes.&#160;<br clear="none"><br clear="none"></li></ul><h3 
id="Camel2.15.0Release-Fixedissues">Fixed issues</h3><ul><li>Fixed processors 
was not enlisted in JMX when routes was transacted.</li><li>Fixed the 
NullPointerException when using CXF endpoint with enrich</li><li>Fixed 
the&#160;endpointProperty of&#160;restConfiguration doesn't work 
issue</li><li>Fixed the issue that&#160;CircuitBreakerLoadBalancer fails on 
async processors</li><li>Fixed&#160;MyBatis consumer <a shape="rect" 
class="external-link" 
href="https://issues.apache.org/jira/browse/CAMEL-8011";>ignoring 
maxMessagesPerPoll</a> option</li><li>Fixed potential issue 
with&#160;pollEnrich not triggering error handler if an exception was thrown in 
the polling.<br clear="none"><br clear="none"></li></ul><h3 
id="Camel2.15.0Release-New">New <a shape="rect" 
href="enterprise-integration-patterns.html">Enterprise Integration 
Patterns</a></h3><h3 id="Camel2.15.0Release-New.1">New <a shape="rect" 
href="components.html">Components</
 a></h3><ul><li><a shape="rect" href="beanstalk.html">camel-beanstalk</a> - for 
working with Amazon Beanstalk jobs.</li><li><code>camel-chunk</code> - for 
templating with Chunk engine.</li><li><a shape="rect" 
href="docker.html">camel-docker</a> - to communicate with 
Docker.</li><li>camel-github - for integrating with github</li><li>camel-jira - 
for integrating with JIRA issue tracker</li><li>camel-scr - for using Camel 
with <a shape="rect" class="external-link" 
href="http://felix.apache.org/documentation/subprojects/apache-felix-maven-scr-plugin/scr-annotations.html";>SCR</a>&#160;(OSGi
 declarative services) on OSGi containers such as Apache Karaf</li><li><a 
shape="rect" href="spring-boot.html">camel-spring-boot</a> - for using Camel 
with Spring Boot</li><li>camel-test-spring40 - for testing with Spring 4.0.x. 
camel-test-spring is for Spring 4.1.x onwards.</li></ul><h3 
id="Camel2.15.0Release-NewDSL">New DSL</h3><ul><li>Added 
<strong>removeProperties</strong> to remove the properties f
 rom exchange.</li></ul><h3 id="Camel2.15.0Release-NewAnnotations">New 
Annotations</h3><h3 id="Camel2.15.0Release-NewDataFormats">New <a shape="rect" 
href="data-format.html">Data 
Formats</a></h3><ul><li>camel-univocity-parsers</li></ul><h3 
id="Camel2.15.0Release-New.2">New <a shape="rect" 
href="languages.html">Languages</a></h3><h3 id="Camel2.15.0Release-New.3">New 
<a shape="rect" href="examples.html">Examples</a></h3><h3 
id="Camel2.15.0Release-New.4">New <a shape="rect" 
href="tutorials.html">Tutorials</a></h3><h2 
id="Camel2.15.0Release-KnownIssues">Known Issues</h2><h2 
id="Camel2.15.0Release-DependencyUpgrades"><span>Dependency 
Upgrades</span></h2><ul><li>AWS-Java-SDK 1.8.3 to 1.8.9.1</li><li>Codahale 
Metrics 3.0 to 3.1</li><li>Guava 17.0 to 18.0</li><li>Jsch 0.1.50 to 
0.1.51</li><li>Spring 4.0.7.RELEASE to 4.1.1.RELEASE</li><li>Spring Security 
3.1.7.RELEASE to 3.2.5.RELEASE</li><li>RX Java 0.20 to 1.0.1</li><li>... and 
many other upgrades</li></ul><h2 id="Camel2.15.0Release-Importa
 ntchangestoconsiderwhenupgrading">Important changes to consider when 
upgrading</h2><ul><li>Spring 4.1.x is now the default out of the box Spring 
version.</li><li><span style="color: rgb(0,0,0);">Unit testing with Spring 
4.0.x requires using camel-test-spring40, as camel-test-spring is for Spring 
4.1 or better.</span></li><li><span style="color: rgb(0,0,0);">Remember to 
add&#160;<code class="java color1">@BootstrapWith</code><code class="java 
plain">(CamelTestContextBootstrapper.</code><code class="java 
keyword">class</code><code class="java plain">)</code>&#160;if upgrading from 
Spring 3.x or 4.0.x to Spring 4.1 onwards, and using the camel-test-spring 
module.</span></li><li><a shape="rect" href="xslt.html">XSLT</a>&#160;component 
now require configuring&#160;<code>transformerFactory</code> using&#160;<a 
shape="rect" href="uris.html">URIs</a> with the #syntax to refer to a bean. 
Just like any other component would do.</li><li>Slight refactor 
in&#160;<code>camel-metrics</code> compon
 ent which may affect users who are using the java endpoint types instead of 
configuring using uris</li><li><code>camel-csv</code> upgraded to Commons CSV 
1.x which has a different API than the old 0.x version. End users may need to 
adjust their code.</li><li><code>camel-sjms</code> has been refactored a bit to 
further harden this component.&#160;End users may need to adjust their 
code.</li></ul><h2 id="Camel2.15.0Release-GettingtheDistributions">Getting the 
Distributions</h2><h3 id="Camel2.15.0Release-BinaryDistributions">Binary 
Distributions</h3><div class="table-wrap"><table 
class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Description</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Download Link</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>PGP Signature file of download</p></th></tr><tr><td 
colspan="1" rowspan="1" class="confluenceTd"><p>Windows 
Distribution</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p
 ><a shape="rect" class="external-link" 
 >href="http://www.apache.org/dyn/closer.cgi/camel/apache-camel/2.15.0/apache-camel-x.y.x.zip";>apache-camel-2.15.0.zip</a></p></td><td
 > colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" 
 >class="external-link" 
 >href="http://www.apache.org/dist/camel/apache-camel/2.15.0/apache-camel-x.y.x.zip.asc";>apache-camel-2.15.0.zip.asc</a></p></td></tr><tr><td
 > colspan="1" rowspan="1" class="confluenceTd"><p>Unix/Linux/Cygwin 
 >Distribution</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a 
 >shape="rect" class="external-link" 
 >href="http://www.apache.org/dyn/closer.cgi/camel/apache-camel/2.15.0/apache-camel-x.y.x.tar.gz";>apache-camel-2.15.0.tar.gz</a></p></td><td
 > colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" 
 >class="external-link" 
 >href="http://www.apache.org/dist/camel/apache-camel/2.15.0/apache-camel-x.y.x.tar.gz.asc";>apache-camel-2.15.0.tar.gz.asc</a></p></td></tr></tbody></table></div>
 >    <div class="aui-message hint shad
 owed information-macro">
+<div class="wiki-content maincontent"><h1 
id="Camel2.15.0Release-Camel2.15.0release(currentlyinprogress)">Camel&#160;2.15.0
 release (currently in progress)</h1><div 
style="padding-right:20px;float:left;margin-left:-20px;"><p><img 
class="confluence-embedded-image confluence-external-resource" 
src="http://camel.apache.org/download.data/camel-box-v1.0-150x200.png"; 
data-image-src="http://camel.apache.org/download.data/camel-box-v1.0-150x200.png";></p></div><div
 style="min-height:200px">&#160;</div><h2 
id="Camel2.15.0Release-NewandNoteworthy">New and Noteworthy</h2><p>Welcome to 
the 2.15.0 release which approx XXX issues resolved (new features, improvements 
and bug fixes such as...)</p><ul><li><span>Component documentation now included 
in the built component JARs. And Java API and JMX API to access that 
documentation. And APIs to explain an endpoint uri and what all those 
configured options mean.&#160;</span></li><li><span>Component can now 
have&#160;associated&#160;label(s) which are use
 d for grouping components into: core, database, messaging, http, rest, 
etc.</span></li><li><span>Provide Configurer for user to configure the CXF 
conduit and CXF destination from Java code</span></li><li><span><span>Added a 
<code>DelegateEndpoint</code>&#160;interface into Camel 
API</span></span></li><li>Support to setup the SslContextParameters in the <a 
shape="rect" href="restlet.html">camel-restlet</a> component</li><li>Java DSL - 
Should support nested choice in doTry .. doCatch</li><li><a shape="rect" 
href="mongodb.html">MongoDb</a> component now <a shape="rect" 
class="external-link" 
href="https://issues.apache.org/jira/browse/CAMEL-7996";>stores OIDs</a>&#160;of 
the inserted records in the message header</li><li><a shape="rect" 
href="recipient-list.html">Recipient List</a> now supports specifying 
custom&#160;<a shape="rect" href="exchange-pattern.html">Exchange Pattern</a> 
in the endpoint ur's</li><li><a shape="rect" href="type-converter.html">Type 
Converter</a> to enum's is now
  case insensitive, so you can convert safely level=info to an enum with name 
Level.INFO etc.</li><li><a shape="rect" href="xslt.html">XSLT</a> and&#160;<a 
shape="rect" 
href="https://cwiki.apache.org/confluence/display/SM/Validation";>Validation</a> 
components now provides all their endpoint configurations in the endpoint, and 
not only in the component, making these components like any other 
components.</li><li>Made the <a shape="rect" href="karaf.html">Camel Karaf 
Commands</a> reusable by moving common code into 
a&#160;<code>camel-commands-core</code> module that SPI can extend and plugin 
Camel commands for other environments.</li><li>Further hardening of the&#160;<a 
shape="rect" href="sjms.html">SJMS</a>&#160;component.</li><li><a shape="rect" 
href="rest-dsl.html">Rest DSL</a> with embedded routes now supports <a 
shape="rect" href="exception-clause.html">onException</a>, <a shape="rect" 
href="intercept.html">intercept</a> etc in use for those embedded routes, just 
like any regular r
 outes.&#160;</li><li><a shape="rect" href="rest-dsl.html">Rest DSL</a> now by 
default uses custom error message as-is without attempting to binding output 
(requires a HTTP error code of 300+ is set as a header)</li></ul><h3 
id="Camel2.15.0Release-Fixedissues">Fixed issues</h3><ul><li>Fixed processors 
was not enlisted in JMX when routes was transacted.</li><li>Fixed the 
NullPointerException when using CXF endpoint with enrich</li><li>Fixed 
the&#160;endpointProperty of&#160;restConfiguration doesn't work 
issue</li><li>Fixed the issue that&#160;CircuitBreakerLoadBalancer fails on 
async processors</li><li>Fixed&#160;MyBatis consumer <a shape="rect" 
class="external-link" 
href="https://issues.apache.org/jira/browse/CAMEL-8011";>ignoring 
maxMessagesPerPoll</a> option</li><li>Fixed potential issue 
with&#160;pollEnrich not triggering error handler if an exception was thrown in 
the polling.<br clear="none"><br clear="none"></li></ul><h3 
id="Camel2.15.0Release-New">New <a shape="rect" href="ent
 erprise-integration-patterns.html">Enterprise Integration Patterns</a></h3><h3 
id="Camel2.15.0Release-New.1">New <a shape="rect" 
href="components.html">Components</a></h3><ul><li><a shape="rect" 
href="beanstalk.html">camel-beanstalk</a> - for working with Amazon Beanstalk 
jobs.</li><li><code>camel-chunk</code> - for templating with Chunk 
engine.</li><li><a shape="rect" href="docker.html">camel-docker</a> - to 
communicate with Docker.</li><li>camel-github - for integrating with 
github</li><li>camel-jira - for integrating with JIRA issue 
tracker</li><li>camel-scr - for using Camel with <a shape="rect" 
class="external-link" 
href="http://felix.apache.org/documentation/subprojects/apache-felix-maven-scr-plugin/scr-annotations.html";>SCR</a>&#160;(OSGi
 declarative services) on OSGi containers such as Apache Karaf</li><li><a 
shape="rect" href="spring-boot.html">camel-spring-boot</a> - for using Camel 
with Spring Boot</li><li>camel-test-spring40 - for testing with Spring 4.0.x. 
camel-test-sp
 ring is for Spring 4.1.x onwards.</li></ul><h3 
id="Camel2.15.0Release-NewDSL">New DSL</h3><ul><li>Added 
<strong>removeProperties</strong> to remove the properties from 
exchange.</li></ul><h3 id="Camel2.15.0Release-NewAnnotations">New 
Annotations</h3><h3 id="Camel2.15.0Release-NewDataFormats">New <a shape="rect" 
href="data-format.html">Data 
Formats</a></h3><ul><li>camel-univocity-parsers</li></ul><h3 
id="Camel2.15.0Release-New.2">New <a shape="rect" 
href="languages.html">Languages</a></h3><h3 id="Camel2.15.0Release-New.3">New 
<a shape="rect" href="examples.html">Examples</a></h3><h3 
id="Camel2.15.0Release-New.4">New <a shape="rect" 
href="tutorials.html">Tutorials</a></h3><h2 
id="Camel2.15.0Release-KnownIssues">Known Issues</h2><h2 
id="Camel2.15.0Release-DependencyUpgrades"><span>Dependency 
Upgrades</span></h2><ul><li>AWS-Java-SDK 1.8.3 to 1.8.9.1</li><li>Codahale 
Metrics 3.0 to 3.1</li><li>Guava 17.0 to 18.0</li><li>Jsch 0.1.50 to 
0.1.51</li><li>Spring 4.0.7.RELEASE to 4.1.1.RELEASE<
 /li><li>Spring Security 3.1.7.RELEASE to 3.2.5.RELEASE</li><li>RX Java 0.20 to 
1.0.1</li><li>... and many other upgrades</li></ul><h2 
id="Camel2.15.0Release-Importantchangestoconsiderwhenupgrading">Important 
changes to consider when upgrading</h2><ul><li>Spring 4.1.x is now the default 
out of the box Spring version.</li><li><span style="color: rgb(0,0,0);">Unit 
testing with Spring 4.0.x requires using camel-test-spring40, as 
camel-test-spring is for Spring 4.1 or better.</span></li><li><span 
style="color: rgb(0,0,0);">Remember to add&#160;<code class="java 
color1">@BootstrapWith</code><code class="java 
plain">(CamelTestContextBootstrapper.</code><code class="java 
keyword">class</code><code class="java plain">)</code>&#160;if upgrading from 
Spring 3.x or 4.0.x to Spring 4.1 onwards, and using the camel-test-spring 
module.</span></li><li><a shape="rect" href="xslt.html">XSLT</a>&#160;component 
now require configuring&#160;<code>transformerFactory</code> using&#160;<a 
shape="rect" href
 ="uris.html">URIs</a> with the #syntax to refer to a bean. Just like any other 
component would do.</li><li>Slight refactor in&#160;<code>camel-metrics</code> 
component which may affect users who are using the java endpoint types instead 
of configuring using uris</li><li><code>camel-csv</code> upgraded to Commons 
CSV 1.x which has a different API than the old 0.x version. End users may need 
to adjust their code.</li><li><code>camel-sjms</code> has been refactored a bit 
to further harden this component.&#160;End users may need to adjust their 
code.</li></ul><h2 id="Camel2.15.0Release-GettingtheDistributions">Getting the 
Distributions</h2><h3 id="Camel2.15.0Release-BinaryDistributions">Binary 
Distributions</h3><div class="table-wrap"><table 
class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Description</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Download Link</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>PGP Signature fi
 le of download</p></th></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Windows Distribution</p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" 
href="http://www.apache.org/dyn/closer.cgi/camel/apache-camel/2.15.0/apache-camel-x.y.x.zip";>apache-camel-2.15.0.zip</a></p></td><td
 colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" 
class="external-link" 
href="http://www.apache.org/dist/camel/apache-camel/2.15.0/apache-camel-x.y.x.zip.asc";>apache-camel-2.15.0.zip.asc</a></p></td></tr><tr><td
 colspan="1" rowspan="1" class="confluenceTd"><p>Unix/Linux/Cygwin 
Distribution</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a 
shape="rect" class="external-link" 
href="http://www.apache.org/dyn/closer.cgi/camel/apache-camel/2.15.0/apache-camel-x.y.x.tar.gz";>apache-camel-2.15.0.tar.gz</a></p></td><td
 colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" 
class="external-link" href="http://www.apache.org/dist/
 
camel/apache-camel/2.15.0/apache-camel-x.y.x.tar.gz.asc">apache-camel-2.15.0.tar.gz.asc</a></p></td></tr></tbody></table></div>
    <div class="aui-message hint shadowed information-macro">
                     <p class="title">The above URLs use redirection</p>
                             <span class="aui-icon icon-hint">Icon</span>
                 <div class="message-content">

Modified: websites/production/camel/content/rest-dsl.html
==============================================================================
--- websites/production/camel/content/rest-dsl.html (original)
+++ websites/production/camel/content/rest-dsl.html Tue Dec  2 12:20:00 2014
@@ -245,11 +245,30 @@ public class UserPojo {
 }
 
 ]]></script>
-</div></div><p>By having the JAXB annotations the POJO supports both json and 
xml bindings.</p><h3 id="RestDSL-ConfiguringRestDSL"><span style="line-height: 
1.5625;">Configuring Rest DSL</span></h3><p>The Rest DSL allows to configure 
the following options using a builder style</p><div class="table-wrap"><table 
class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" 
class="confluenceTh">Option</th><th colspan="1" rowspan="1" 
class="confluenceTh">Default</th><th colspan="1" rowspan="1" 
class="confluenceTh">Description</th></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd">component</td><td colspan="1" rowspan="1" 
class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" 
class="confluenceTd">The Camel Rest component to use for the REST transport, 
such as restlet, spark-rest. If no component has been explicit configured, then 
Camel will lookup if there is a Camel component that integrates with the Rest 
DSL, or if a&#160;<code>org.apache.camel.spi.RestConsumerFactory</cod
 e>&#160;is registered in the registry. If either one is found, then that is 
being used.</td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd">scheme</td><td colspan="1" rowspan="1" 
class="confluenceTd">http</td><td colspan="1" rowspan="1" 
class="confluenceTd">The scheme to use for exposing the REST service. Usually 
http or https is supported</td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd">hostname</td><td colspan="1" rowspan="1" 
class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" 
class="confluenceTd">The hostname to use for exposing the REST 
service.</td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd">port</td><td colspan="1" rowspan="1" 
class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" 
class="confluenceTd">The port number to use for exposing the REST service. 
Notice if you use servlet component then the port number configured here does 
not apply, as the port number in use is the actual port number the servlet 
component is using. eg 
 if using Apache Tomcat its the tomcat http port, if using Apache Karaf its the 
HTTP service in Karaf that uses port 8181 by default etc. Though in those 
situations setting the port number here, allows tooling and JMX to know the 
port number, so its recommended to set the port number to the number that the 
servlet engine uses.</td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd">contextPath</td><td colspan="1" rowspan="1" 
class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" 
class="confluenceTd">Sets a leading context-path the REST services will be 
using. This can be used when using components such as <a shape="rect" 
href="servlet.html">SERVLET</a> where the deployed web application is deployed 
using a context-path.</td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd">restHostNameResolver</td><td colspan="1" rowspan="1" 
class="confluenceTd">localHostName</td><td colspan="1" rowspan="1" 
class="confluenceTd">If no hostname has been explicit configured, then this
  resolver is used to compute the hostname the REST service will be using. The 
resolver supports <code>localHostName</code> or 
<code>localIp</code>.</td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd">bindingMode</td><td colspan="1" rowspan="1" 
class="confluenceTd">off</td><td colspan="1" rowspan="1" 
class="confluenceTd">Whether binding is in use. See further above for more 
details.</td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd">jsonDataFormat</td><td colspan="1" rowspan="1" 
class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" 
class="confluenceTd">Name of specific json data format to use. By default 
<code>json-jackson</code> will be used. <strong>Notice:</strong> Currently 
Jackson is what we recommend and are using for testing.</td></tr><tr><td 
colspan="1" rowspan="1" class="confluenceTd">xmlDataFormat</td><td colspan="1" 
rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" 
class="confluenceTd">Name of specific XML data format to use
 . By default <code>jaxb</code> will be used. <strong>Notice:</strong> 
Currently only <code>jaxb</code> is supported.</td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd">componentProperty</td><td colspan="1" 
rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" 
class="confluenceTd">Allows to configure as many additional properties. This is 
used to configure component specific options such as for&#160;<a shape="rect" 
href="restlet.html">Restlet</a>&#160;/&#160;<a shape="rect" 
href="spark-rest.html">Spark-Rest</a>&#160;etc.</td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd">endpointProperty</td><td colspan="1" 
rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" 
class="confluenceTd"><span>Allows to configure as many additional properties. 
This is used to configure endpoint specific options for <span>&#160;</span><a 
shape="rect" href="restlet.html">Restlet</a><span>&#160;/&#160;</span><a 
shape="rect" href="spark-rest.html">Spark-
 Rest</a><span>&#160;etc.</span></span></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd">consumerProperty</td><td colspan="1" 
rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" 
class="confluenceTd"><span>Allows to configure as many additional properties. 
This is used to configure consumer specific options for 
</span><span>&#160;</span><a shape="rect" 
href="restlet.html">Restlet</a><span>&#160;/&#160;</span><a shape="rect" 
href="spark-rest.html">Spark-Rest</a><span>&#160;etc.</span></td></tr><tr><td 
colspan="1" rowspan="1" class="confluenceTd">dataFormatProperty</td><td 
colspan="1" rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" 
rowspan="1" class="confluenceTd">Allows to configure as many additional 
properties. This is used to configure the data format specific options. For 
example set property prettyPrint to true to have json outputted in pretty 
mode.</td></tr></tbody></table></div><p>&#160;</p><p><span style="line-height: 
1.4285715;">For
  example to configure to use the spark-rest component on port 9091, then we 
can do as follows</span></p><div class="code panel pdl" style="border-width: 
1px;"><div class="codeContent panelContent pdl">
+</div></div><p>By having the JAXB annotations the POJO supports both json and 
xml bindings.</p><h3 id="RestDSL-ConfiguringRestDSL"><span style="line-height: 
1.5625;">Configuring Rest DSL</span></h3><p>The Rest DSL allows to configure 
the following options using a builder style</p><div class="table-wrap"><table 
class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" 
class="confluenceTh">Option</th><th colspan="1" rowspan="1" 
class="confluenceTh">Default</th><th colspan="1" rowspan="1" 
class="confluenceTh">Description</th></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd">component</td><td colspan="1" rowspan="1" 
class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" 
class="confluenceTd">The Camel Rest component to use for the REST transport, 
such as restlet, spark-rest. If no component has been explicit configured, then 
Camel will lookup if there is a Camel component that integrates with the Rest 
DSL, or if a&#160;<code>org.apache.camel.spi.RestConsumerFactory</cod
 e>&#160;is registered in the registry. If either one is found, then that is 
being used.</td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd">scheme</td><td colspan="1" rowspan="1" 
class="confluenceTd">http</td><td colspan="1" rowspan="1" 
class="confluenceTd">The scheme to use for exposing the REST service. Usually 
http or https is supported</td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd">hostname</td><td colspan="1" rowspan="1" 
class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" 
class="confluenceTd">The hostname to use for exposing the REST 
service.</td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd">port</td><td colspan="1" rowspan="1" 
class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" 
class="confluenceTd">The port number to use for exposing the REST service. 
Notice if you use servlet component then the port number configured here does 
not apply, as the port number in use is the actual port number the servlet 
component is using. eg 
 if using Apache Tomcat its the tomcat http port, if using Apache Karaf its the 
HTTP service in Karaf that uses port 8181 by default etc. Though in those 
situations setting the port number here, allows tooling and JMX to know the 
port number, so its recommended to set the port number to the number that the 
servlet engine uses.</td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd">contextPath</td><td colspan="1" rowspan="1" 
class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" 
class="confluenceTd">Sets a leading context-path the REST services will be 
using. This can be used when using components such as <a shape="rect" 
href="servlet.html">SERVLET</a> where the deployed web application is deployed 
using a context-path.</td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd">restHostNameResolver</td><td colspan="1" rowspan="1" 
class="confluenceTd">localHostName</td><td colspan="1" rowspan="1" 
class="confluenceTd">If no hostname has been explicit configured, then this
  resolver is used to compute the hostname the REST service will be using. The 
resolver supports <code>localHostName</code> or 
<code>localIp</code>.</td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd">bindingMode</td><td colspan="1" rowspan="1" 
class="confluenceTd">off</td><td colspan="1" rowspan="1" 
class="confluenceTd">Whether binding is in use. See further above for more 
details.</td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd">skipBindingOnCustomError</td><td colspan="1" rowspan="1" 
class="confluenceTd">true</td><td colspan="1" rowspan="1" 
class="confluenceTd"><strong>Camel 2.14.1</strong>: Whether to skip binding on 
output if there is a custom HTTP error code header. This allows to build custom 
error messages that do not bind to json / xml etc, as success messages 
otherwise will do. See further below for an example.</td></tr><tr><td 
colspan="1" rowspan="1" class="confluenceTd">jsonDataFormat</td><td colspan="1" 
rowspan="1" class="confluenceTd">&#160;</td><
 td colspan="1" rowspan="1" class="confluenceTd">Name of specific json data 
format to use. By default <code>json-jackson</code> will be used. 
<strong>Notice:</strong> Currently Jackson is what we recommend and are using 
for testing.</td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd">xmlDataFormat</td><td colspan="1" rowspan="1" 
class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" 
class="confluenceTd">Name of specific XML data format to use. By default 
<code>jaxb</code> will be used. <strong>Notice:</strong> Currently only 
<code>jaxb</code> is supported.</td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd">componentProperty</td><td colspan="1" rowspan="1" 
class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" 
class="confluenceTd">Allows to configure as many additional properties. This is 
used to configure component specific options such as for&#160;<a shape="rect" 
href="restlet.html">Restlet</a>&#160;/&#160;<a shape="rect" 
href="spark-rest.html">Spark-R
 est</a>&#160;etc.</td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd">endpointProperty</td><td colspan="1" rowspan="1" 
class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" 
class="confluenceTd"><span>Allows to configure as many additional properties. 
This is used to configure endpoint specific options for <span>&#160;</span><a 
shape="rect" href="restlet.html">Restlet</a><span>&#160;/&#160;</span><a 
shape="rect" 
href="spark-rest.html">Spark-Rest</a><span>&#160;etc.</span></span></td></tr><tr><td
 colspan="1" rowspan="1" class="confluenceTd">consumerProperty</td><td 
colspan="1" rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" 
rowspan="1" class="confluenceTd"><span>Allows to configure as many additional 
properties. This is used to configure consumer specific options for 
</span><span>&#160;</span><a shape="rect" 
href="restlet.html">Restlet</a><span>&#160;/&#160;</span><a shape="rect" 
href="spark-rest.html">Spark-Rest</a><span>&#160;etc.</span></td></tr><tr><td 
 colspan="1" rowspan="1" class="confluenceTd">dataFormatProperty</td><td 
colspan="1" rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" 
rowspan="1" class="confluenceTd">Allows to configure as many additional 
properties. This is used to configure the data format specific options. For 
example set property prettyPrint to true to have json outputted in pretty 
mode.</td></tr></tbody></table></div><p>&#160;</p><p><span style="line-height: 
1.4285715;">For example to configure to use the spark-rest component on port 
9091, then we can do as follows</span></p><div class="code panel pdl" 
style="border-width: 1px;"><div class="codeContent panelContent pdl">
 <script class="theme: Default; brush: java; gutter: false" 
type="syntaxhighlighter"><![CDATA[restConfiguration().component(&quot;spark-rest&quot;).port(9091).componentProperty(&quot;foo&quot;,
 &quot;123&quot;);]]></script>
 </div></div><p><span style="line-height: 1.4285715;"><br 
clear="none"></span></p><p><span style="line-height: 1.4285715;">And with XML 
DSL</span></p><div class="code panel pdl" style="border-width: 1px;"><div 
class="codeContent panelContent pdl">
 <script class="theme: Default; brush: java; gutter: false" 
type="syntaxhighlighter"><![CDATA[&lt;restConfiguration 
component=&quot;spark-rest&quot; port=&quot;9091&quot;&gt; 
&lt;componentProperty key=&quot;foo&quot; value=&quot;123&quot;/&gt; 
&lt;/restConfiguration&gt;]]></script>
-</div></div><p><span style="line-height: 1.4285715;"><br 
clear="none"></span></p><p>You can configure properties on these 
levels.&#160;</p><ul><li>component - Is used to set any options on the 
Component class. You can also configure these directly on the 
component.</li><li>endpoint - Is used set any option on the endpoint level. 
Many of the Camel components has many options you can set on endpoint 
level.</li><li>consumer - Is used to set any option on the consumer level. Some 
components has consumer options, which you can also configure from endpoint 
level by prefixing the option with "consumer."&#160;</li><li>data format - Is 
used to set any option on the data formats. For example to enable pretty print 
in the json data format.</li></ul><p>You can set multiple options of the same 
level, so you can can for example configure 2 component options, and 3 endpoint 
options etc.</p><h3 
id="RestDSL-IntegrationaCamelcomponentwithRestDSL">Integration a Camel 
component with Rest DSL</h3><p>Any
  Apache Camel component can integrate with the Rest DSL if they can be used as 
a REST service (eg as a REST consumer in Camel lingo). To integrate with the 
Rest DSL, then the component should implement 
the&#160;<code>org.apache.camel.spi.RestConsumerFactory</code>. The Rest DSL 
will then invoke the&#160;<code>createConsumer</code> method when it setup the 
Camel routes from the defined DSL. The component should then implement logic to 
create a Camel consumer that exposes the REST services based on the given 
parameters, such as path, verb, and other options. For example see the source 
code for camel-restlet, camel-spark-rest.</p><h3 
id="RestDSL-SwaggerAPI">Swagger API</h3><p>The Rest DSL supports <a 
shape="rect" href="swagger.html">Swagger</a>&#160;by 
the&#160;<code>camel-swagger</code> module. See more details at &#160;<a 
shape="rect" href="swagger.html">Swagger</a>&#160;and 
the&#160;<code>camel-example-servlet-rest-tomcat</code> example from the Apache 
Camel distribution.</p><h3 id=
 "RestDSL-SeeAlso">See Also</h3><ul><li><a shape="rect" 
href="dsl.html">DSL</a></li><li><a shape="rect" 
href="rest.html">Rest</a></li><li><a shape="rect" 
href="swagger.html">Swagger</a></li><li><a shape="rect" 
href="spark-rest.html">Spark-rest</a></li><li><a shape="rect" 
href="how-do-i-import-rests-from-other-xml-files.html">How do I import rests 
from other XML files</a></li></ul></div>
+</div></div><p><span style="line-height: 1.4285715;"><br 
clear="none"></span></p><p>You can configure properties on these 
levels.&#160;</p><ul><li>component - Is used to set any options on the 
Component class. You can also configure these directly on the 
component.</li><li>endpoint - Is used set any option on the endpoint level. 
Many of the Camel components has many options you can set on endpoint 
level.</li><li>consumer - Is used to set any option on the consumer level. Some 
components has consumer options, which you can also configure from endpoint 
level by prefixing the option with "consumer."&#160;</li><li>data format - Is 
used to set any option on the data formats. For example to enable pretty print 
in the json data format.</li></ul><p>You can set multiple options of the same 
level, so you can can for example configure 2 component options, and 3 endpoint 
options etc.</p><h3 id="RestDSL-Definingacustomerrormessageas-is">Defining a 
custom error message as-is</h3><p>If you want to
  define custom error messages to be sent back to the client with a HTTP error 
code (eg such as 400, 404 etc.) then from&#160;<strong>Camel 2.14.1</strong> 
onwards you just set a header with the 
key&#160;<code>Exchange.HTTP_RESPONSE_CODE</code> to the error code (must be 
300+) such as 404. And then the message body with any reply message, and 
optionally set the content-type header as well. There is a little example shown 
below:</p><div class="code panel pdl" style="border-width: 1px;"><div 
class="codeContent panelContent pdl">
+<script class="theme: Default; brush: java; gutter: false" 
type="syntaxhighlighter"><![CDATA[                
restConfiguration().component(&quot;restlet&quot;).host(&quot;localhost&quot;).port(portNum).bindingMode(RestBindingMode.json);
+                // use the rest DSL to define the rest services
+                rest(&quot;/users/&quot;)
+                    
.post(&quot;lives&quot;).type(UserPojo.class).outType(CountryPojo.class)
+                        .route()
+                            .choice()
+                                .when().simple(&quot;${body.id} &lt; 100&quot;)
+                                    .bean(new UserErrorService(), 
&quot;idToLowError&quot;)
+                                .otherwise()
+                                    .bean(new UserService(), 
&quot;livesWhere&quot;);]]></script>
+</div></div><p>In this example if the input id is a number that is below 100, 
we want to send back a custom error message, using the UserErrorService bean, 
which is implemented as shown:</p><div class="code panel pdl" 
style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<script class="theme: Default; brush: java; gutter: false" 
type="syntaxhighlighter"><![CDATA[public class UserErrorService {
+    public void idToLowError(Exchange exchange) {
+        exchange.getIn().setBody(&quot;id value is too low&quot;);
+        exchange.getIn().setHeader(Exchange.CONTENT_TYPE, 
&quot;text/plain&quot;);
+        exchange.getIn().setHeader(Exchange.HTTP_RESPONSE_CODE, 400);
+    }
+}]]></script>
+</div></div><p>In the UserErrorService bean we build our custom error message, 
and set the HTTP error code to 400. This is important, as that tells rest-dsl 
that this is a custom error message, and the message should not use the output 
pojo binding (eg would otherwise bind to CountryPojo).</p><h3 
id="RestDSL-IntegrationaCamelcomponentwithRestDSL">Integration a Camel 
component with Rest DSL</h3><p>Any Apache Camel component can integrate with 
the Rest DSL if they can be used as a REST service (eg as a REST consumer in 
Camel lingo). To integrate with the Rest DSL, then the component should 
implement the&#160;<code>org.apache.camel.spi.RestConsumerFactory</code>. The 
Rest DSL will then invoke the&#160;<code>createConsumer</code> method when it 
setup the Camel routes from the defined DSL. The component should then 
implement logic to create a Camel consumer that exposes the REST services based 
on the given parameters, such as path, verb, and other options. For example see 
the source code
  for camel-restlet, camel-spark-rest.</p><h3 id="RestDSL-SwaggerAPI">Swagger 
API</h3><p>The Rest DSL supports <a shape="rect" 
href="swagger.html">Swagger</a>&#160;by the&#160;<code>camel-swagger</code> 
module. See more details at &#160;<a shape="rect" 
href="swagger.html">Swagger</a>&#160;and 
the&#160;<code>camel-example-servlet-rest-tomcat</code> example from the Apache 
Camel distribution.</p><h3 id="RestDSL-SeeAlso">See Also</h3><ul><li><a 
shape="rect" href="dsl.html">DSL</a></li><li><a shape="rect" 
href="rest.html">Rest</a></li><li><a shape="rect" 
href="swagger.html">Swagger</a></li><li><a shape="rect" 
href="spark-rest.html">Spark-rest</a></li><li><a shape="rect" 
href="how-do-i-import-rests-from-other-xml-files.html">How do I import rests 
from other XML files</a></li></ul></div>
         </td>
         <td valign="top">
           <div class="navigation">


Reply via email to