You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by bu...@apache.org on 2014/12/02 13:20:00 UTC

svn commit: r931327 [1/2] - in /websites/production/camel/content: book-dataformat-appendix.html book-in-one-page.html cache/main.pageCache camel-2150-release.html rest-dsl.html xmlsecurity-dataformat.html

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">