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/02/19 12:19:48 UTC

svn commit: r898476 [2/3] - in /websites/production/camel/content: book-dataformat-appendix.html book-in-one-page.html cache/main.pageCache crypto.html

Modified: websites/production/camel/content/book-in-one-page.html
==============================================================================
--- websites/production/camel/content/book-in-one-page.html (original)
+++ websites/production/camel/content/book-in-one-page.html Wed Feb 19 11:19:47 2014
@@ -4269,11 +4269,11 @@ While not actual tutorials you might fin
 
 <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>
 <style type="text/css">/*<![CDATA[*/
-div.rbtoc1392707987511 {padding: 0px;}
-div.rbtoc1392707987511 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1392707987511 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1392808726908 {padding: 0px;}
+div.rbtoc1392808726908 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1392808726908 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style><div class="toc-macro rbtoc1392707987511">
+/*]]>*/</style><div class="toc-macro rbtoc1392808726908">
 <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>
@@ -6614,11 +6614,11 @@ So we completed the last piece in the pi
 
 
 <style type="text/css">/*<![CDATA[*/
-div.rbtoc1392707987591 {padding: 0px;}
-div.rbtoc1392707987591 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1392707987591 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1392808727338 {padding: 0px;}
+div.rbtoc1392808727338 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1392808727338 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style><div class="toc-macro rbtoc1392707987591">
+/*]]>*/</style><div class="toc-macro rbtoc1392808727338">
 <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>
@@ -14079,9 +14079,8 @@ from(&quot;jms://queue:customerServiceQu
 &lt;/dependency&gt;
 ]]></script>
 </div></div>
-<h2 id="BookInOnePage-Crypto">Crypto</h2><p><strong>Available as of Camel 2.3</strong><br clear="none"> <strong>PGP Available as of Camel 2.9</strong></p><p>The Crypto <a shape="rect" href="data-format.html">Data Format</a> integrates the Java Cryptographic Extension into Camel, allowing simple and flexible encryption and decryption of messages using Camel's familiar marshall and unmarshal formatting mechanism. It assumes marshalling to mean encryption to cyphertext and unmarshalling to mean decryption back to the original plaintext. This data format implements only symmetric (shared-key) encryption and decyption.</p><h3 id="BookInOnePage-Options.9">Options</h3><div class="confluenceTableSmall">
-<table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p> Name </p></th><th colspan="1" rowspan="1" class="confluenceTh"><p> Type </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>algorithm</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>String</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>DES/CBC/PKCS5Padding</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> The JCE algorithm name indicating the cryptographic algorithm that will be used. </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>algorithmParameterSpec</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>java.security.spec.AlgorithmParameterSpec</code> </p></td><td colspan="1" rowspan="1" class="con
 fluenceTd"><p> <code>null</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>A JCE AlgorithmParameterSpec used to initialize the Cipher. </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>bufferSize</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>Integer</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>2048</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> the size of the buffer used in the signature process. </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>cryptoProvider</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>String</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 name of the JCE Security Provider that should be used. </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>initializa
 tionVector</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>byte[]</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 byte array containing the Initialization Vector that will be used to initialize the Cipher. </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>inline</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>boolean</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>false</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> Flag indicating that the configured IV should be inlined into the encrypted data stream. </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>macAlgorithm</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>String</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>null</co
 de> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> The JCE algorithm name indicating the Message Authentication algorithm. </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>shouldAppendHMAC</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>boolean</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>null</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> Flag indicating that a Message Authentication Code should be calculated and appended to the encrypted data.</p></td></tr></tbody></table>
-</div><h3 id="BookInOnePage-BasicUsage">Basic Usage</h3><p>At its most basic all that is required to encrypt/decrypt an exchange is a shared secret key. If one or more instances of the Crypto data format are configured with this key the format can be used to encrypt the payload in one route (or part of one) and decrypted in another. For example, using the Java DSL as follows:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<h2 id="BookInOnePage-Crypto">Crypto</h2><p><strong>Available as of Camel 2.3</strong><br clear="none"> <strong>PGP Available as of Camel 2.9</strong></p><p>The Crypto <a shape="rect" href="data-format.html">Data Format</a> integrates the Java Cryptographic Extension into Camel, allowing simple and flexible encryption and decryption of messages using Camel's familiar marshall and unmarshal formatting mechanism. It assumes marshalling to mean encryption to cyphertext and unmarshalling to mean decryption back to the original plaintext. This data format implements only symmetric (shared-key) encryption and decyption.</p><h3 id="BookInOnePage-Options.9">Options</h3><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p> Name </p></th><th colspan="1" rowspan="1" class="confluenceTh"><p> Type </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><t
 r><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>algorithm</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>String</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>DES/CBC/PKCS5Padding</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> The JCE algorithm name indicating the cryptographic algorithm that will be used. </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>algorithmParameterSpec</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>java.security.spec.AlgorithmParameterSpec</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 JCE AlgorithmParameterSpec used to initialize the Cipher. </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>bufferSize</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>Integer</c
 ode> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>2048</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> the size of the buffer used in the signature process. </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>cryptoProvider</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>String</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 name of the JCE Security Provider that should be used. </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>initializationVector</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>byte[]</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 byte array containing the Initialization Vector that will be used to initialize the
  Cipher. </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>inline</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>boolean</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>false</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> Flag indicating that the configured IV should be inlined into the encrypted data stream. </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>macAlgorithm</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>String</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 JCE algorithm name indicating the Message Authentication algorithm. </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>shouldAppendHMAC</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>boolean</code> </p><
 /td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>null</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> Flag indicating that a Message Authentication Code should be calculated and appended to the encrypted data.</p></td></tr></tbody></table>
+<h3 id="BookInOnePage-BasicUsage">Basic Usage</h3><p>At its most basic all that is required to encrypt/decrypt an exchange is a shared secret key. If one or more instances of the Crypto data format are configured with this key the format can be used to encrypt the payload in one route (or part of one) and decrypted in another. For example, using the Java DSL as follows:</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[
 KeyGenerator generator = KeyGenerator.getInstance(&quot;DES&quot;);
 
@@ -14225,10 +14224,10 @@ from(&quot;direct:key-in-header-decrypt&
 <script class="theme: Default; brush: xml; gutter: false" type="syntaxhighlighter"><![CDATA[
 &lt;crypto id=&quot;nokey&quot; algorithm=&quot;DES&quot; /&gt;
 ]]></script>
-</div></div><h3 id="BookInOnePage-PGPDataFormatOptions">PGPDataFormat Options</h3><div class="confluenceTableSmall">
-<table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p> Name </p></th><th colspan="1" rowspan="1" class="confluenceTh"><p> Type </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>keyUserid</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>String</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 user ID of the key in the PGP keyring used during encryption. See also option <code>keyUserids</code>. Can also be only a part of a user ID. For example, if the user ID is "Test User &lt;test@camel.com&gt;" then you can use the part "Test User" or "&lt;test@camel.com&gt;" to address the user ID. </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">
 <p> <code>keyUserids</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>List&lt;String&gt;</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>Since camel 2.12.2</strong>: PGP allows to encrypt the symmetric key by several asymmetric public receiver keys. You can specify here the User IDs or parts of User IDs of several public keys contained in the PGP keyring.  If you just have one User ID, then you can also use the option <code>keyUserid</code>. The User ID specified in <code>keyUserid</code> and the User IDs in <code>keyUserids</code> will be merged together and the corresponding public keys will be used for the encryption. </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>password</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>String</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd">
 <p> <code>null</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> Password used when opening the private key (not used for encryption). </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>keyFileName</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>String</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>null</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> Filename of the keyring; must be accessible as a classpath resource (but you can specify a location in the file system by using the "file:" prefix). </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>encryptionKeyRing</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>byte[]</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>Since camel 2.12.1</strong>; encryption 
 keyring; you can not set the keyFileName and encryptionKeyRing at the same time. </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>signatureKeyUserid</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>String</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>Since Camel 2.11.0</strong>; optional User ID of the key in the PGP keyring used for signing (during encryption) or signature verification (during decryption). During the signature verification process the specified User ID restricts the public keys from the public keyring which can be used for the verification. If no User ID is specified for the signature verficiation then any public key in the public keyring can be used for the verification. Can also be only a part of a user ID. For example, if the user ID is "Test User &lt;test@camel.com&gt;" then you can use the part "Te
 st User" or "&lt;test@camel.com&gt;" to address the User ID. </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>signatureKeyUserids</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>List&lt;String&gt;</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>Since Camel 2.12.3</strong>; optional list of User IDs of the key in the PGP keyring used for signing (during encryption) or signature verification (during decryption). You can specify here the User IDs or parts of User IDs of several keys contained in the PGP keyring.  If you just have one User ID, then you can also use the option <code>keyUserid</code>. The User ID specified in <code>keyUserid</code> and the User IDs in <code>keyUserids</code> will be merged together and the corresponding keys will be used for the signing or signature verification. If the specified User IDs refer
 ence several keys then for each key a signature is added to the PGP result during the encryption-signing process. In the decryption-verifying process the list of User IDs restricts the list of public keys which can be used for signature verification. If the list of User IDs is empty then any public key in the public keyring can be used for the signature verification.  </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>signaturePassword</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>String</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>Since Camel 2.11.0</strong>; optional password used when opening the private key used for signing (during encryption). </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>signatureKeyFileName</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>
 String</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>Since Camel 2.11.0</strong>; optional filename of the keyring to use for signing (during encryption) or for signature verification (during decryption); must be accessible as a classpath resource (but you can specify a location in the file system by using the "file:" prefix). </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>signatureKeyRing</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>byte[]</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>Since camel 2.12.1</strong>; signature keyring; you can not set the signatureKeyFileName and signatureKeyRing at the same time. </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>algorithm</code> </
 p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>int</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>SymmetricKeyAlgorithmTags.CAST5</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <strong>Since camel 2.12.2</strong>; symmetric key encryption algorithm; possible values are defined in <code>org.bouncycastle.bcpg.SymmetricKeyAlgorithmTags</code>; for example 2 (= TRIPLE DES), 3 (= CAST5), 4 (= BLOWFISH), 6 (= DES), 7 (= AES_128). Only relevant for encrypting. </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>compressionAlgorithm</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>int</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>CompressionAlgorithmTags.ZIP</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <strong>Since camel 2.12.2</strong>; compression algorithm; possible values are defined in <code>org.bouncycastle.bcpg.C
 ompressionAlgorithmTags</code>; for example 0 (= UNCOMPRESSED), 1 (= ZIP), 2 (= ZLIB), 3 (= BZIP2). Only relevant for encrypting. </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>hashAlgorithm</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>int</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>HashAlgorithmTags.SHA1</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <strong>Since camel 2.12.2</strong>: signature hash algorithm; possible values are defined in <code>org.bouncycastle.bcpg.HashAlgorithmTags</code>; for example 2 (= SHA1), 8 (= SHA256), 9 (= SHA384), 10 (= SHA512), 11 (=SHA224). Only relevant for signing. </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>armored</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>boolean</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>false</code> </p></td><td colsp
 an="1" rowspan="1" class="confluenceTd"><p> This option will cause PGP to base64 encode the encrypted text, making it available for copy/paste, etc. </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>integrity</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>boolean</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>true</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> Adds an integrity check/sign into the encryption file. </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>passphraseAccessor</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <a shape="rect" class="external-link" href="https://github.com/apache/camel/blob/master/components/camel-crypto/src/main/java/org/apache/camel/converter/crypto/PGPPassphraseAccessor.java" rel="nofollow">PGPPassphraseAccessor</a> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>null</code> 
 </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <strong>Since Camel 2.12.2</strong>; provides passphrases corresponding to user Ids.  If no passpharase can be found from the option <code>password</code> or <code>signaturePassword</code> and from the headers <code>CamelPGPDataFormatKeyPassword</code> or <code>CamelPGPDataFormatSignatureKeyPassword</code> then the passphrase is feteched from the passphrase accessor. You provide a bean which implements the interface <a shape="rect" class="external-link" href="https://github.com/apache/camel/blob/master/components/camel-crypto/src/main/java/org/apache/camel/converter/crypto/PGPPassphraseAccessor.java" rel="nofollow">PGPPassphraseAccessor</a>. A default implementation is given by <a shape="rect" class="external-link" href="https://github.com/apache/camel/blob/master/components/camel-crypto/src/main/java/org/apache/camel/converter/crypto/PGPPassphraseAccessorDefault.java" rel="nofollow">PGPPassphraseAccessorDefault</a>.  The
  passphrase accessor is especially useful in the decrypt case; see chapter 'PGP Decrypting/Verifying of Messages Encrypted/Signed by Different Private/Public Keys'  below. </p></td></tr></tbody></table>
+</div></div><h3 id="BookInOnePage-PGPDataFormatOptions">PGPDataFormat Options</h3><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p> Name </p></th><th colspan="1" rowspan="1" class="confluenceTh"><p> Type </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>keyUserid</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>String</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 user ID of the key in the PGP keyring used during encryption. See also option <code>keyUserids</code>. Can also be only a part of a user ID. For example, if the user ID is "Test User &lt;test@camel.com&gt;" then you can use the part "Test User" or "&lt;test@camel.com&gt;" to addres
 s the user ID. </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>keyUserids</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>List&lt;String&gt;</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>Since camel 2.12.2</strong>: PGP allows to encrypt the symmetric key by several asymmetric public receiver keys. You can specify here the User IDs or parts of User IDs of several public keys contained in the PGP keyring.  If you just have one User ID, then you can also use the option <code>keyUserid</code>. The User ID specified in <code>keyUserid</code> and the User IDs in <code>keyUserids</code> will be merged together and the corresponding public keys will be used for the encryption. </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>password</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd">
 <p> <code>String</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>null</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> Password used when opening the private key (not used for encryption). </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>keyFileName</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>String</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>null</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> Filename of the keyring; must be accessible as a classpath resource (but you can specify a location in the file system by using the "file:" prefix). </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>encryptionKeyRing</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>byte[]</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>null</code> </p></td><td colspan="1" row
 span="1" class="confluenceTd"><p> <strong>Since camel 2.12.1</strong>; encryption keyring; you can not set the keyFileName and encryptionKeyRing at the same time. </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>signatureKeyUserid</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>String</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>Since Camel 2.11.0</strong>; optional User ID of the key in the PGP keyring used for signing (during encryption) or signature verification (during decryption). During the signature verification process the specified User ID restricts the public keys from the public keyring which can be used for the verification. If no User ID is specified for the signature verficiation then any public key in the public keyring can be used for the verification. Can also be only a part of a user ID. For example, 
 if the user ID is "Test User &lt;test@camel.com&gt;" then you can use the part "Test User" or "&lt;test@camel.com&gt;" to address the User ID. </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>signatureKeyUserids</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>List&lt;String&gt;</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>Since Camel 2.12.3</strong>; optional list of User IDs of the key in the PGP keyring used for signing (during encryption) or signature verification (during decryption). You can specify here the User IDs or parts of User IDs of several keys contained in the PGP keyring.  If you just have one User ID, then you can also use the option <code>keyUserid</code>. The User ID specified in <code>keyUserid</code> and the User IDs in <code>keyUserids</code> will be merged together and the corresponding keys will 
 be used for the signing or signature verification. If the specified User IDs reference several keys then for each key a signature is added to the PGP result during the encryption-signing process. In the decryption-verifying process the list of User IDs restricts the list of public keys which can be used for signature verification. If the list of User IDs is empty then any public key in the public keyring can be used for the signature verification.  </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>signaturePassword</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>String</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>Since Camel 2.11.0</strong>; optional password used when opening the private key used for signing (during encryption). </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>signatureKeyFi
 leName</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>String</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>Since Camel 2.11.0</strong>; optional filename of the keyring to use for signing (during encryption) or for signature verification (during decryption); must be accessible as a classpath resource (but you can specify a location in the file system by using the "file:" prefix). </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>signatureKeyRing</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>byte[]</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>Since camel 2.12.1</strong>; signature keyring; you can not set the signatureKeyFileName and signatureKeyRing at the same time. </p></td></tr>
 <tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>algorithm</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>int</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>SymmetricKeyAlgorithmTags.CAST5</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <strong>Since camel 2.12.2</strong>; symmetric key encryption algorithm; possible values are defined in <code>org.bouncycastle.bcpg.SymmetricKeyAlgorithmTags</code>; for example 2 (= TRIPLE DES), 3 (= CAST5), 4 (= BLOWFISH), 6 (= DES), 7 (= AES_128). Only relevant for encrypting. </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>compressionAlgorithm</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>int</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>CompressionAlgorithmTags.ZIP</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <strong>Since camel 2.12.2</strong>; c
 ompression algorithm; possible values are defined in <code>org.bouncycastle.bcpg.CompressionAlgorithmTags</code>; for example 0 (= UNCOMPRESSED), 1 (= ZIP), 2 (= ZLIB), 3 (= BZIP2). Only relevant for encrypting. </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>hashAlgorithm</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>int</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>HashAlgorithmTags.SHA1</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <strong>Since camel 2.12.2</strong>: signature hash algorithm; possible values are defined in <code>org.bouncycastle.bcpg.HashAlgorithmTags</code>; for example 2 (= SHA1), 8 (= SHA256), 9 (= SHA384), 10 (= SHA512), 11 (=SHA224). Only relevant for signing. </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>armored</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>boolean</code> </p></td><td cols
 pan="1" rowspan="1" class="confluenceTd"><p> <code>false</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> This option will cause PGP to base64 encode the encrypted text, making it available for copy/paste, etc. </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>integrity</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>boolean</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>true</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> Adds an integrity check/sign into the encryption file. </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>passphraseAccessor</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <a shape="rect" class="external-link" href="https://github.com/apache/camel/blob/master/components/camel-crypto/src/main/java/org/apache/camel/converter/crypto/PGPPassphraseAccessor.java" rel="nofollow">PGPPassphraseAccessor</a
 > </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>null</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <strong>Since Camel 2.12.2</strong>; provides passphrases corresponding to user Ids.  If no passpharase can be found from the option <code>password</code> or <code>signaturePassword</code> and from the headers <code>CamelPGPDataFormatKeyPassword</code> or <code>CamelPGPDataFormatSignatureKeyPassword</code> then the passphrase is fetched from the passphrase accessor. You provide a bean which implements the interface <a shape="rect" class="external-link" href="https://github.com/apache/camel/blob/master/components/camel-crypto/src/main/java/org/apache/camel/converter/crypto/PGPPassphraseAccessor.java" rel="nofollow">PGPPassphraseAccessor</a>. A default implementation is given by <a shape="rect" class="external-link" href="https://github.com/apache/camel/blob/master/components/camel-crypto/src/main/java/org/apache/camel/converter/crypto/Default
 PGPPassphraseAccessor.java" rel="nofollow">DefaultPGPPassphraseAccessor</a>.  The passphrase accessor is especially useful in the decrypt case; see chapter 'PGP Decrypting/Verifying of Messages Encrypted/Signed by Different Private/Public Keys'  below. </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>publicKeyAccessor</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <a shape="rect" class="external-link" href="https://github.com/apache/camel/blob/master/components/camel-crypto/src/main/java/org/apache/camel/converter/crypto/PGPPublicKeyAccessor.java" rel="nofollow">PGPPublicKeyAccessor</a> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>null</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <strong>Sinace Camel 2.13.0</strong>; provides the publicKeyAccessor which can be used to help PGPDataFormat to find the PublicKey and EncryptionKeys.  You provide a bean which implements the interface <a shape=
 "rect" class="external-link" href="https://github.com/apache/camel/blob/master/components/camel-crypto/src/main/java/org/apache/camel/converter/crypto/PGPPublicKeyAccessor.java" rel="nofollow">PGPPublicKeyAccessor</a>. A default implementation is given by <a shape="rect" class="external-link" href="https://github.com/apache/camel/blob/master/components/camel-crypto/src/main/java/org/apache/camel/converter/crypto/DefaultPGPPublicKeyAccessor.java" rel="nofollow">DefaultPGPPublicKeyAccessor</a>.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>secretKeyAccessor</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <a shape="rect" class="external-link" href="https://github.com/apache/camel/blob/master/components/camel-crypto/src/main/java/org/apache/camel/converter/crypto/PGPSecretAccessor.java" rel="nofollow">PGPSecretKeyAccessor</a> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>null</code> </p></td><td colspan="1" rowspan
 ="1" class="confluenceTd"><p> <strong>Sinace Camel 2.13.0</strong>; provides the secretKeyAccessor which can be used to help PGPDataFormat to find the SecretKey and DecryptionKeys.  You provide a bean which implements the interface <a shape="rect" class="external-link" href="https://github.com/apache/camel/blob/master/components/camel-crypto/src/main/java/org/apache/camel/converter/crypto/PGPSecretKeyAccessor.java" rel="nofollow">PGPSecretKeyAccessor</a>. A default implementation is given by <a shape="rect" class="external-link" href="https://github.com/apache/camel/blob/master/components/camel-crypto/src/main/java/org/apache/camel/converter/crypto/DefaultPGPSecretKeyAccessor.java" rel="nofollow">DefaultPGPSecretKeyAccessor</a>.</p></td></tr></tbody></table>
 
-</div><h3 id="BookInOnePage-PGPDataFormatMessageHeaders">PGPDataFormat Message Headers</h3><p>You can override the PGPDataFormat options by applying below headers into message dynamically.</p><div class="confluenceTableSmall"></div><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Name</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Type</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelPGPDataFormatKeyFileName</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Since Camel 2.11.0</strong>; filename of the keyring; will override existing setting directly on the PGPDataFormat.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelPGPDataFormatEncryptionKeyRing</code></p></td><td
  colspan="1" rowspan="1" class="confluenceTd"><p><code>byte[]</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Since Camel 2.12.1</strong>; the encryption keyring; will override existing setting directly on the PGPDataFormat.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelPGPDataFormatKeyUserid</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Since Camel 2.11.0</strong>; the User ID of the key in the PGP keyring; will override existing setting directly on the PGPDataFormat.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelPGPDataFormatKeyUserids</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>List&lt;String&gt;</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Since camel 2.12.2</strong>: the User IDs of the key in the PGP keyring; will over
 ride existing setting directly on the PGPDataFormat.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelPGPDataFormatKeyPassword</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Since Camel 2.11.0</strong>; password used when opening the private key; will override existing setting directly on the PGPDataFormat.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelPGPDataFormatSignatureKeyFileName</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Since Camel 2.11.0</strong>; filename of the signature keyring; will override existing setting directly on the PGPDataFormat.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelPGPDataFormatSignatureKeyRing</code></p></td><td colspan="1" rowspan="1" c
 lass="confluenceTd"><p><code>byte[]</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Since Camel 2.12.1</strong>; the signature keyring; will override existing setting directly on the PGPDataFormat.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelPGPDataFormatSignatureKeyUserid</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Since Camel 2.11.0</strong>; the User ID of the signature key in the PGP keyring; will override existing setting directly on the PGPDataFormat.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">CamelPGPDataFormatSignatureKeyUserids</td><td colspan="1" rowspan="1" class="confluenceTd">List&lt;String&gt;</td><td colspan="1" rowspan="1" class="confluenceTd"><strong>Since Camel 2.12.3</strong>; the User IDs of the signature keys in the PGP keyring; will override existing setting directly 
 on the PGPDataFormat.</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelPGPDataFormatSignatureKeyPassword</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Since Camel 2.11.0</strong>; password used when opening the signature private key; will override existing setting directly on the PGPDataFormat.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelPGPDataFormatEncryptionAlgorithm</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>int</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Since Camel 2.12.2</strong>; symmetric key encryption algorithm; will override existing setting directly on the PGPDataFormat.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelPGPDataFormatSignatureHashAlgorithm</code></p></td><td colspan="1" rowspan="1" class="conflue
 nceTd"><p><code>int</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Since Camel 2.12.2</strong>; signature hash algorithm; will override existing setting directly on the PGPDataFormat.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelPGPDataFormatCompressionAlgorithm</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>int</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Since Camel 2.12.2</strong>; compression algorithm; will override existing setting directly on the PGPDataFormat.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">CamelPGPDataFormatNumberOfEncryptionKeys</td><td colspan="1" rowspan="1" class="confluenceTd">Integer</td><td colspan="1" rowspan="1" class="confluenceTd"><strong>Since</strong>&#160;<strong>Camel 2.12.3;&#160; </strong>number of public keys used for encrypting the symmectric key, set by PGPDataFormat during encryptiion process</td></tr>
 <tr><td colspan="1" rowspan="1" class="confluenceTd">CamelPGPDataFormatNumberOfSigningKeys</td><td colspan="1" rowspan="1" class="confluenceTd">Integer</td><td colspan="1" rowspan="1" class="confluenceTd"><strong>Since</strong>&#160;<strong>Camel 2.12.3; </strong>number of private keys used for creating signatures, set by PGPDataFormat during signing process</td></tr></tbody></table></div><h3 id="BookInOnePage-EncryptingwithPGPDataFormat">Encrypting with PGPDataFormat</h3><p>The following sample uses the popular PGP format for encrypting/decrypting files using the <a shape="rect" class="external-link" href="http://www.bouncycastle.org/java.html" rel="nofollow">Bouncy Castle Java libraries</a>:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<p>&#160;<br clear="none">
+&#160;</p><h3 id="BookInOnePage-PGPDataFormatMessageHeaders">PGPDataFormat Message Headers</h3><p>You can override the PGPDataFormat options by applying below headers into message dynamically.</p>&#160;<div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Name</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Type</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelPGPDataFormatKeyFileName</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Since Camel 2.11.0</strong>; filename of the keyring; will override existing setting directly on the PGPDataFormat.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelPGPDataFormatEncryptionKeyRing</code></p></td><td colspan="1" rowspan="1" class
 ="confluenceTd"><p><code>byte[]</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Since Camel 2.12.1</strong>; the encryption keyring; will override existing setting directly on the PGPDataFormat.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelPGPDataFormatKeyUserid</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Since Camel 2.11.0</strong>; the User ID of the key in the PGP keyring; will override existing setting directly on the PGPDataFormat.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelPGPDataFormatKeyUserids</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>List&lt;String&gt;</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Since camel 2.12.2</strong>: the User IDs of the key in the PGP keyring; will override existing setting directly
  on the PGPDataFormat.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelPGPDataFormatKeyPassword</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Since Camel 2.11.0</strong>; password used when opening the private key; will override existing setting directly on the PGPDataFormat.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelPGPDataFormatSignatureKeyFileName</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Since Camel 2.11.0</strong>; filename of the signature keyring; will override existing setting directly on the PGPDataFormat.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelPGPDataFormatSignatureKeyRing</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>b
 yte[]</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Since Camel 2.12.1</strong>; the signature keyring; will override existing setting directly on the PGPDataFormat.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelPGPDataFormatSignatureKeyUserid</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Since Camel 2.11.0</strong>; the User ID of the signature key in the PGP keyring; will override existing setting directly on the PGPDataFormat.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">CamelPGPDataFormatSignatureKeyUserids</td><td colspan="1" rowspan="1" class="confluenceTd">List&lt;String&gt;</td><td colspan="1" rowspan="1" class="confluenceTd"><strong>Since Camel 2.12.3</strong>; the User IDs of the signature keys in the PGP keyring; will override existing setting directly on the PGPDataFormat.</td></tr
 ><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelPGPDataFormatSignatureKeyPassword</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Since Camel 2.11.0</strong>; password used when opening the signature private key; will override existing setting directly on the PGPDataFormat.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelPGPDataFormatEncryptionAlgorithm</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>int</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Since Camel 2.12.2</strong>; symmetric key encryption algorithm; will override existing setting directly on the PGPDataFormat.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelPGPDataFormatSignatureHashAlgorithm</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>int</code></p>
 </td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Since Camel 2.12.2</strong>; signature hash algorithm; will override existing setting directly on the PGPDataFormat.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelPGPDataFormatCompressionAlgorithm</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>int</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Since Camel 2.12.2</strong>; compression algorithm; will override existing setting directly on the PGPDataFormat.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">CamelPGPDataFormatNumberOfEncryptionKeys</td><td colspan="1" rowspan="1" class="confluenceTd">Integer</td><td colspan="1" rowspan="1" class="confluenceTd"><strong>Since</strong>&#160;<strong>Camel 2.12.3;&#160; </strong>number of public keys used for encrypting the symmectric key, set by PGPDataFormat during encryptiion process</td></tr><tr><td colspan="1" rowspan="1
 " class="confluenceTd">CamelPGPDataFormatNumberOfSigningKeys</td><td colspan="1" rowspan="1" class="confluenceTd">Integer</td><td colspan="1" rowspan="1" class="confluenceTd"><strong>Since</strong>&#160;<strong>Camel 2.12.3; </strong>number of private keys used for creating signatures, set by PGPDataFormat during signing process</td></tr></tbody></table></div><h3 id="BookInOnePage-EncryptingwithPGPDataFormat">Encrypting with PGPDataFormat</h3><p>The following sample uses the popular PGP format for encrypting/decrypting files using the <a shape="rect" class="external-link" href="http://www.bouncycastle.org/java.html" rel="nofollow">Bouncy Castle Java libraries</a>:</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 Key FileName
 String keyFileName = getKeyFileName();
@@ -22169,11 +22168,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.rbtoc1392707988661 {padding: 0px;}
-div.rbtoc1392707988661 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1392707988661 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1392808740568 {padding: 0px;}
+div.rbtoc1392808740568 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1392808740568 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style></p><div class="toc-macro rbtoc1392707988661">
+/*]]>*/</style></p><div class="toc-macro rbtoc1392808740568">
 <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>
@@ -22878,12 +22877,7 @@ cxfbean:serviceBeanRef
 </div></div><p>Where <strong>rsEndpoint</strong> represents the spring bean's name which presents the CXFRS client or server</p><p>For either style above, you can append options to the URI as follows:</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[cxfrs:bean:cxfEndpoint?resourceClasses=org.apache.camel.rs.Example
 ]]></script>
-</div></div><h3 id="BookInOnePage-Options.31">Options</h3><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p> Name </p></th><th colspan="1" rowspan="1" class="confluenceTh"><p> Description </p></th><th colspan="1" rowspan="1" class="confluenceTh"><p> Example </p></th><th colspan="1" rowspan="1" class="confluenceTh"><p> Required? </p></th><th colspan="1" rowspan="1" class="confluenceTh"><p> default value </p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>resourceClasses</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> The resource classes which you want to export as REST service. Multiple classes can be separated by comma. </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>resourceClasses=org.apache.camel.rs.Example1,</code><br clear="none">
-<code>org.apache.camel.rs.Exchange2</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> No </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <em>None</em> </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>resourceClass</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <strong>Deprecated</strong>: Use <code>resourceClasses</code> The resource class which you want to export as REST service. </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>resourceClass =org.apache.camel.rs.Example1</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> No </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <em>None</em> </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>httpClientAPI</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <strong>new to Camel 2.1</strong> If it is true, the CxfRsProducer will use the HttpClientAPI to invoke the se
 rvice <br clear="none" class="atl-forced-newline">
-If it is false, the CxfRsProducer will use the ProxyClientAPI to invoke the service </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> httpClientAPI=true </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> No </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <em>true</em> </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> synchronous </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> New in 2.5, this option will let CxfRsConsumer decide to use sync or async API to do the underlying work. The default value is false which means it will try to use async API by default. </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> synchronous=true </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> No </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> false </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> throwExceptionOnFailure </p></td><td colspan="1" rowspan="1" class="confluenc
 eTd"><p> New in 2.6, this option tells the CxfRsProducer to inspect return codes and will generate an Exception if the return code is larger than 207. </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> throwExceptionOnFailure=true </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> No </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> true </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>maxClientCacheSize</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> New in 2.6, you can set a IN message header CamelDestinationOverrideUrl to dynamically override the target destination Web Service or REST Service defined in your routes.&#160; The implementation caches CXF clients or ClientFactoryBean in CxfProvider and CxfRsProvider.&#160; This option allows you to configure the maximum size of the cache. <br clear="none" class="atl-forced-newline"> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> maxClien
 tCacheSize=5 </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> No <br clear="none" class="atl-forced-newline"> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> 10 </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>setDefaultBus</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> New in 2.9.0. Will set the default bus when CXF endpoint create a bus by itself </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>setDefaultBus=true</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> No </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>false</code> </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>bus</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> New in 2.9.0. A default bus created by CXF Bus Factory. Use <code>#</code> notation to reference a bus object from the registry. The referenced object must be an instance of <code
 >org.apache.cxf.Bus</code>. </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>bus=#busName</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> No </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <em>None</em> </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>bindingStyle</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <strong>As of 2.11</strong>. Sets how requests and responses will be mapped to/from Camel. Two values are possible: </p>
-<ul class="alternate"><li><code>SimpleConsumer</code> =&gt; see the <a shape="rect" href="#BookInOnePage-ConsumingaRESTRequest-SimpleBindingStyle">Consuming a REST Request with the Simple Binding Style</a> below.</li><li><code>Default</code> =&gt; the default style. For consumers this passes on a <code>MessageContentsList</code> to the route, requiring low-level processing in the route.</li></ul>
-</td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>bindingStyle=SimpleConsumer</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> No </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <em>Default</em> </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>providers</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <strong>Since Camel 2.12.2</strong> set custom JAX-RS providers list to the CxfRs endpoint. </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> No </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <em>None</em> </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>schemaLocations</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <strong>Since Camel 2.12.2</strong> Sets the locations of the schemas which can be used to validate the incoming XML or JAXB-driven JSON. </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> NO <
 /p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <em>None</em> </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>features</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <strong>Since Camel 2.12.3</strong> Set the feature list to the CxfRs endpoint. </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> No </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <em>None</em> </p></td></tr></tbody></table></div>
-<p>You can also configure the CXF REST endpoint through the spring configuration. Since there are lots of difference between the CXF REST client and CXF REST Server, we provide different configuration for them.<br clear="none"> Please check out the <a shape="rect" class="external-link" href="http://svn.apache.org/repos/asf/camel/trunk/components/camel-cxf/src/main/resources/schema/cxfEndpoint.xsd">schema file</a> and <a shape="rect" class="external-link" href="http://cwiki.apache.org/CXF20DOC/jax-rs.html">CXF REST user guide</a> for more information.</p><h3 id="BookInOnePage-HowtoconfiguretheRESTendpointinCamel">How to configure the REST endpoint in Camel</h3><p>In <a shape="rect" class="external-link" href="http://svn.apache.org/repos/asf/camel/trunk/components/camel-cxf/src/main/resources/schema/cxfEndpoint.xsd">camel-cxf schema file</a>, there are two elements for the REST endpoint definition. <strong>cxf:rsServer</strong> for REST consumer, <strong>cxf:rsClient</strong> for REST
  producer.<br clear="none"> You can find a Camel REST service route configuration example here.</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div><h3 id="BookInOnePage-Options.31">Options</h3><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Name</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Example</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Required?</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>default value</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>resourceClasses</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The resource classes which you want to export as REST service. Multiple classes can be separated by comma.</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>resourceClasses=org.apache.camel.rs.Example1,</code><br clear="none"> <code>org.apache.camel.rs.Exchange2</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>No</p></td><td colspan="1" r
 owspan="1" class="confluenceTd"><p><em>None</em></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>resourceClass</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Deprecated</strong>: Use <code>resourceClasses</code> The resource class which you want to export as REST service.</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>resourceClass =org.apache.camel.rs.Example1</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>No</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><em>None</em></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>httpClientAPI</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>new to Camel 2.1</strong> If it is true, the CxfRsProducer will use the HttpClientAPI to invoke the service <br clear="none" class="atl-forced-newline"> If it is false, the CxfRsProducer will use the ProxyClientAPI to invoke the service</p></td><td co
 lspan="1" rowspan="1" class="confluenceTd"><p>httpClientAPI=true</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>No</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><em>true</em></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>synchronous</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>New in 2.5, this option will let CxfRsConsumer decide to use sync or async API to do the underlying work. The default value is false which means it will try to use async API by default.</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>synchronous=true</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>No</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>false</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>throwExceptionOnFailure</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>New in 2.6, this option tells the CxfRsProducer to inspect return codes and will generate an Exception if the
  return code is larger than 207.</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>throwExceptionOnFailure=true</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>No</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>true</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>maxClientCacheSize</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>New in 2.6, you can set a IN message header CamelDestinationOverrideUrl to dynamically override the target destination Web Service or REST Service defined in your routes.&#160; The implementation caches CXF clients or ClientFactoryBean in CxfProvider and CxfRsProvider.&#160; This option allows you to configure the maximum size of the cache.</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>maxClientCacheSize=5</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>No</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>10</p></td></tr><tr><td colspan="1" row
 span="1" class="confluenceTd"><p><code>setDefaultBus</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>New in 2.9.0. Will set the default bus when CXF endpoint create a bus by itself</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>setDefaultBus=true</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>No</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>false</code></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>bus</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>New in 2.9.0. A default bus created by CXF Bus Factory. Use <code>#</code> notation to reference a bus object from the registry. The referenced object must be an instance of <code>org.apache.cxf.Bus</code>.</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>bus=#busName</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>No</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><
 em>None</em></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>bindingStyle</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>As of 2.11</strong>. Sets how requests and responses will be mapped to/from Camel. Two values are possible:</p><ul class="alternate"><li><code>SimpleConsumer</code> =&gt; see the <a shape="rect" href="#BookInOnePage-ConsumingaRESTRequest-SimpleBindingStyle">Consuming a REST Request with the Simple Binding Style</a> below.</li><li><code>Default</code> =&gt; the default style. For consumers this passes on a <code>MessageContentsList</code> to the route, requiring low-level processing in the route.</li></ul></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>bindingStyle=SimpleConsumer</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>No</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><em>Default</em></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><span>p
 roviders</span></td><td colspan="1" rowspan="1" class="confluenceTd"><strong>Since Camel 2.12.2</strong><span> set custom JAX-RS providers list to the CxfRs endpoint.</span></td><td colspan="1" rowspan="1" class="confluenceTd">providers=#MyProviders</td><td colspan="1" rowspan="1" class="confluenceTd">No</td><td colspan="1" rowspan="1" class="confluenceTd"><em>None</em></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><span>schemaLocations</span></td><td colspan="1" rowspan="1" class="confluenceTd"><strong>Since Camel 2.12.2</strong><span> Sets the locations of the schemas which can be used to validate the incoming XML or JAXB-driven JSON.</span></td><td colspan="1" rowspan="1" class="confluenceTd">schemaLocations=#MySchemaLocations</td><td colspan="1" rowspan="1" class="confluenceTd">No</td><td colspan="1" rowspan="1" class="confluenceTd"><em>None</em></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><span>features</span></td><td colspan="1" rowspan="1" cl
 ass="confluenceTd"><strong>Since Camel 2.12.3</strong><span> Set the feature list to the CxfRs endpoint.</span></td><td colspan="1" rowspan="1" class="confluenceTd">features=#MyFeatures</td><td colspan="1" rowspan="1" class="confluenceTd">No</td><td colspan="1" rowspan="1" class="confluenceTd"><em>None</em></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">properties</td><td colspan="1" rowspan="1" class="confluenceTd"><strong>Since Camel 2.12.4</strong><span> Set the properties to the CxfRs endpoint.</span></td><td colspan="1" rowspan="1" class="confluenceTd">properties=#MyProperties</td><td colspan="1" rowspan="1" class="confluenceTd">No</td><td colspan="1" rowspan="1" class="confluenceTd"><em>None</em></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">inInterceptors</td><td colspan="1" rowspan="1" class="confluenceTd"><strong>Since Camel 2.12.4</strong><span> Set the inInterceptors to the CxfRs endpoint.</span></td><td colspan="1" rowspan="1" class="conflu
 enceTd">inInterceptors=#MyInterceptors</td><td colspan="1" rowspan="1" class="confluenceTd">No</td><td colspan="1" rowspan="1" class="confluenceTd"><em>None</em></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">outInterceptors</td><td colspan="1" rowspan="1" class="confluenceTd"><strong>Since Camel 2.12.4</strong><span> Set the outInterceptor to the CxfRs endpoint.</span></td><td colspan="1" rowspan="1" class="confluenceTd"><span>outInterceptors=#MyInterceptors</span></td><td colspan="1" rowspan="1" class="confluenceTd"><span>No</span></td><td colspan="1" rowspan="1" class="confluenceTd"><em>None</em></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">inFaultInterceptors</td><td colspan="1" rowspan="1" class="confluenceTd"><strong>Since Camel 2.12.4</strong><span> Set the inFaultInterceptors to the CxfRs endpoint.</span></td><td colspan="1" rowspan="1" class="confluenceTd"><span>inFaultInterceptors=#MyInterceptors</span></td><td colspan="1" rowspan="1" class=
 "confluenceTd"><span>No</span></td><td colspan="1" rowspan="1" class="confluenceTd"><em>None</em></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">outFaultIntercetpros</td><td colspan="1" rowspan="1" class="confluenceTd"><strong>Since Camel 2.12.4</strong><span> Set the outFaultInterceptors to the CxfRs endpoint.</span></td><td colspan="1" rowspan="1" class="confluenceTd"><span>outFaultInterceptors=#MyInterceptors</span></td><td colspan="1" rowspan="1" class="confluenceTd"><span>No</span></td><td colspan="1" rowspan="1" class="confluenceTd"><em>None</em></td></tr></tbody></table></div><p>You can also configure the CXF REST endpoint through the spring configuration. Since there are lots of difference between the CXF REST client and CXF REST Server, we provide different configuration for them.<br clear="none"> Please check out the <a shape="rect" class="external-link" href="http://svn.apache.org/repos/asf/camel/trunk/components/camel-cxf/src/main/resources/schema/cxfEndpo
 int.xsd">schema file</a> and <a shape="rect" class="external-link" href="http://cwiki.apache.org/CXF20DOC/jax-rs.html">CXF REST user guide</a> for more information.</p><h3 id="BookInOnePage-HowtoconfiguretheRESTendpointinCamel">How to configure the REST endpoint in Camel</h3><p>In <a shape="rect" class="external-link" href="http://svn.apache.org/repos/asf/camel/trunk/components/camel-cxf/src/main/resources/schema/cxfEndpoint.xsd">camel-cxf schema file</a>, there are two elements for the REST endpoint definition. <strong>cxf:rsServer</strong> for REST consumer, <strong>cxf:rsClient</strong> for REST producer.<br clear="none"> You can find a Camel REST service route configuration example here.</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
 <script class="theme: Default; brush: xml; gutter: false" type="syntaxhighlighter"><![CDATA[
 &lt;beans xmlns=&quot;http://www.springframework.org/schema/beans&quot;
        xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot;
@@ -32752,16 +32746,17 @@ From Camel 2.8.1 onwards we have include
 &lt;/dependency&gt;
 ]]></script>
 </div></div><h3 id="BookInOnePage-URIformat.53">URI format</h3><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[quickfix:configFile[?sessionID=sessionID]
+<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[quickfix:configFile[?sessionID=sessionID&amp;lazyCreateEngine=true|false]
 ]]></script>
-</div></div><p>The <strong>configFile</strong> is the name of the QuickFIX/J configuration to use for the FIX engine (located as a resource found in your classpath). The optional sessionID identifies a specific FIX session. The format of the sessionID is:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div><p>The <strong>configFile</strong> is the name of the QuickFIX/J configuration to use for the FIX engine (located as a resource found in your classpath). The optional <strong>sessionID</strong> identifies a specific FIX session. The format of the sessionID is:</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[(BeginString):(SenderCompID)[/(SenderSubID)[/(SenderLocationID)]]-&gt;(TargetCompID)[/(TargetSubID)[/(TargetLocationID)]]
 ]]></script>
-</div></div><p>Example URIs:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div><p>The optional <strong>lazyCreateEngine</strong> (Camel 2.12.3+) parameter allows to create QuickFIX/J engine on demand. Value <strong>true</strong> means the engine is started when first message is send or there's consumer configured in route definition. When&#160;<strong>false</strong> value is used, the engine is started at the endpoint creation. When this parameter is missing, the value of component's property <strong>lazyCreateEngines</strong> is being used.</p><p>Example URIs:</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[quickfix:config.cfg
 
 quickfix:config.cfg?sessionID=FIX.4.2:MyTradingCompany-&gt;SomeExchange
-]]></script>
+
+quickfix:config.cfg?sessionID=FIX.4.2:MyTradingCompany-&gt;SomeExchange&amp;lazyCreateEngine=true]]></script>
 </div></div><h2 id="BookInOnePage-Endpoints">Endpoints</h2><p>FIX sessions are endpoints for the <strong>quickfix</strong> component. An endpoint URI may specify a single session or all sessions managed by a specific QuickFIX/J engine. Typical applications will use only one FIX engine but advanced users may create multiple FIX engines by referencing different configuration files in <strong>quickfix</strong> component endpoint URIs.</p><p>When a consumer does not include a session ID in the endpoint URI, it will receive exchanges for all sessions managed by the FIX engine associated with the configuration file specified in the URI. If a producer does not specify a session in the endpoint URI then it must include the session-related fields in the FIX message being sent. If a session is specified in the URI then the component will automatically inject the session-related fields into the FIX message.</p><h3 id="BookInOnePage-ExchangeFormat">Exchange Format</h3><p>The exchange headers in
 clude information to help with exchange filtering, routing and other processing. The following headers are available:</p><div class="confluenceTableSmall">
 <table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p> Header Name </p></th><th colspan="1" rowspan="1" class="confluenceTh"><p> Description </p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> EventCategory </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> One of <code>AppMessageReceived</code>, <code>AppMessageSent</code>, <code>AdminMessageReceived</code>, <code>AdminMessageSent</code>, <code>SessionCreated</code>, <code>SessionLogon</code>, <code>SessionLogoff</code>. See the <code>QuickfixjEventCategory</code> enum. </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> SessionID </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> The FIX message SessionID </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> MessageType </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> The FIX MsgType tag value </p></td></tr><tr><td colspan="1" rowspan="1" class="conflue
 nceTd"><p> DataDictionary </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> Specifies a data dictionary to used for parsing an incoming message. Can be an instance of a data dictionary or a resource path for a QuickFIX/J data dictionary file </p></td></tr></tbody></table>
 </div><p>The DataDictionary header is useful if string messages are being received and need to be parsed in a route. QuickFIX/J requires a data dictionary to parse certain types of messages (with repeating groups, for example). By injecting a DataDictionary header in the route after receiving a message string, the FIX engine can properly parse the data.</p><h3 id="BookInOnePage-QuickFIX/JConfigurationExtensions">QuickFIX/J Configuration Extensions</h3><p>When using QuickFIX/J directly, one typically writes code to create instances of logging adapters, message stores and communication connectors. The <strong>quickfix</strong> component will automatically create instances of these classes based on information in the configuration file. It also provides defaults for many of the common required settings and adds additional capabilities (like the ability to activate JMX support).</p><p>The following sections describe how the <strong>quickfix</strong> component processes the QuickFIX/J co
 nfiguration. For comprehensive information about QuickFIX/J configuration, see the <a shape="rect" class="external-link" href="http://www.quickfixj.org/quickfixj/usermanual/usage/configuration.html" rel="nofollow">QFJ user manual</a>.</p><h4 id="BookInOnePage-CommunicationConnectors">Communication Connectors</h4><p>When the component detects an initiator or acceptor session setting in the QuickFIX/J configuration file it will automatically create the corresponding initiator and/or acceptor connector. These settings can be in the default or in a specific session section of the configuration file.</p><div class="confluenceTableSmall">

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