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/05 13:20:49 UTC

svn commit: r931522 [3/7] - in /websites/production/camel/content: ./ cache/

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 Fri Dec  5 12:20:48 2014
@@ -671,9 +671,13 @@ disruptor-vm:someName[?<option>]
 </div></div></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Used by Camel applications outside Google App Engine (GAE) for programmatic login to GAE applications. See also <a shape="rect" href="gae.html">Camel Components for Google App Engine</a>.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="gtask.html">GTask</a> / <a shape="rect" href="gae.html">camel-gae</a></p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
 <script class="theme: Default; brush: plain; gutter: false" type="syntaxhighlighter"><![CDATA[gtask://queue-name[?options]
 ]]></script>
-</div></div></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Supports asynchronous message processing on Google App Engine by using the <a shape="rect" class="external-link" href="http://code.google.com/appengine/docs/java/taskqueue/" rel="nofollow">task queueing service</a> as message queue. See also <a shape="rect" href="gae.html">Camel Components for Google App Engine</a>.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="googledrive.html">Google Drive</a> / <a shape="rect" href="googledrive.html">camel-google-drive</a></p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<script class="theme: Default; brush: plain; gutter: false" type="syntaxhighlighter"><![CDATA[google-drive://endpoint-prefix/endpoint?[options]]]></script>
-</div></div></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Supports interaction with <a shape="rect" class="external-link" href="https://developers.google.com/drive/v2/reference/" rel="nofollow">Google Drive's REST API</a>.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="gmail.html">GMail</a> / <a shape="rect" href="gae.html">camel-gae</a></p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Supports asynchronous message processing on Google App Engine by using the <a shape="rect" class="external-link" href="http://code.google.com/appengine/docs/java/taskqueue/" rel="nofollow">task queueing service</a> as message queue. See also <a shape="rect" href="gae.html">Camel Components for Google App Engine</a>.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="googlecalendar.html">Google Calendar</a> / <a shape="rect" href="googlecalendar.html">camel-google-calendar</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[google-calendar://endpoint-prefix/endpoint?[options] ]]></script>
+</div></div></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Supports interaction with <a shape="rect" class="external-link" href="https://developers.google.com/google-apps/calendar/v3/reference/" rel="nofollow">Google Calendar's REST API</a>.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="googledrive.html">Google Drive</a> / <a shape="rect" href="googledrive.html">camel-google-drive</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[google-drive://endpoint-prefix/endpoint?[options]]]></script>
+</div></div></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Supports interaction with <a shape="rect" class="external-link" href="https://developers.google.com/drive/v2/reference/" rel="nofollow">Google Drive's REST API</a>.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="googlemail.html">Google Mail</a> / <a shape="rect" href="googlemail.html">camel-google-mail</a></p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<script class="theme: Default; brush: plain; gutter: false" type="syntaxhighlighter"><![CDATA[google-mail://endpoint-prefix/endpoint?[options]]]></script>
+</div></div></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Supports interaction with <a shape="rect" class="external-link" href="https://developers.google.com/gmail/api/v1/reference/" rel="nofollow">Google Mail's REST API</a>.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="gmail.html">GMail</a> / <a shape="rect" href="gae.html">camel-gae</a></p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
 <script class="theme: Default; brush: plain; gutter: false" type="syntaxhighlighter"><![CDATA[gmail://user@g[oogle]mail.com[?options]
 ]]></script>
 </div></div></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Supports sending of emails via the <a shape="rect" class="external-link" href="http://code.google.com/appengine/docs/java/mail/" rel="nofollow">mail service</a> of Google App Engine. See also <a shape="rect" href="gae.html">Camel Components for Google App Engine</a>.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="gora.html">Gora</a><span>/ camel-gora</span></p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
@@ -4120,11 +4124,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.rbtoc1417598329323 {padding: 0px;}
-div.rbtoc1417598329323 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1417598329323 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1417781923228 {padding: 0px;}
+div.rbtoc1417781923228 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1417781923228 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style></p><div class="toc-macro rbtoc1417598329323">
+/*]]>*/</style></p><div class="toc-macro rbtoc1417781923228">
 <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 +6314,11 @@ So we completed the last piece in the pi
 
 
 <style type="text/css">/*<![CDATA[*/
-div.rbtoc1417598330173 {padding: 0px;}
-div.rbtoc1417598330173 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1417598330173 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1417781925859 {padding: 0px;}
+div.rbtoc1417781925859 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1417781925859 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style><div class="toc-macro rbtoc1417598330173">
+/*]]>*/</style><div class="toc-macro rbtoc1417781925859">
 <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>
@@ -10489,60 +10493,41 @@ from(&quot;jms://queue/order&quot;).unma
 <h3 id="BookInOnePage-Dependencies.23">Dependencies</h3>
 
 <p>This data format is provided in <strong>camel-core</strong> so no additional dependencies is needed.</p>
-<h3 id="BookInOnePage-HL7DataFormat">HL7 DataFormat</h3>
-<p>The <a shape="rect" href="hl7.html">HL7</a> component ships with a HL7 data format that can be used to format between <code>String</code> and HL7 model objects. </p>
-<ul class="alternate"><li><code>marshal</code> = from Message to byte stream (can be used when returning as response using the HL7 MLLP codec)</li><li><code>unmarshal</code> = from byte stream to Message (can be used when receiving streamed data from the HL7 MLLP</li></ul>
-
-
-<p>To use the data format, simply instantiate an instance and invoke the marshal or unmarshal operation in the route builder:</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[
-  DataFormat hl7 = new HL7DataFormat();
+<h3 id="BookInOnePage-HL7DataFormat">HL7 DataFormat</h3><p>The <a shape="rect" href="hl7.html">HL7</a> component ships with a HL7 data format that can be used to marshal or unmarshal HL7 model objects.</p><ul class="alternate"><li><code>marshal</code> = from Message to byte stream (can be used when returning as response using the HL7 MLLP codec)</li><li><code>unmarshal</code> = from byte stream to Message (can be used when receiving streamed data from the HL7 MLLP</li></ul><p>To use the data format, simply instantiate an instance and invoke the marshal or unmarshal operation in the route builder:</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[  DataFormat hl7 = new HL7DataFormat();
   ...
   from(&quot;direct:hl7in&quot;).marshal(hl7).to(&quot;jms:queue:hl7out&quot;);
 ]]></script>
-</div></div>
-<p>In the sample above, the HL7 is marshalled from a HAPI Message object to a byte stream and put on a JMS queue.<br clear="none">
-The next example is the opposite:</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[
-  DataFormat hl7 = new HL7DataFormat();
+</div></div><p>In the sample above, the HL7 is marshalled from a HAPI Message object to a byte stream and put on a JMS queue.<br clear="none"> The next example is the opposite:</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[  DataFormat hl7 = new HL7DataFormat();
   ...
   from(&quot;jms:queue:hl7out&quot;).unmarshal(hl7).to(&quot;patientLookupService&quot;);
 ]]></script>
-</div></div>
-<p>Here we unmarshal the byte stream into a HAPI Message object that is passed to our patient lookup service.</p>
-
-    <div class="aui-message warning shadowed information-macro">
+</div></div><p>Here we unmarshal the byte stream into a HAPI Message object that is passed to our patient lookup service.</p>    <div class="aui-message warning shadowed information-macro">
                     <p class="title">Segment separators</p>
                             <span class="aui-icon icon-warning">Icon</span>
                 <div class="message-content">
-                            
-<p>As of <strong>Camel 2.11</strong>, <code>unmarshal</code> does not automatically fix segment separators anymore by converting <code>\n</code> to <code>\r</code>. If you <br clear="none">
-need this conversion, <code>org.apache.camel.component.hl7.HL7#convertLFToCR</code> provides a handy <code>Expression</code> for this purpose.</p>
+                            <p>As of <strong>Camel 2.11</strong>, <code>unmarshal</code> does not automatically fix segment separators anymore by converting <code>\n</code> to <code>\r</code>. If you <br clear="none"> need this conversion, <code>org.apache.camel.component.hl7.HL7#convertLFToCR</code> provides a handy <code>Expression</code> for this purpose.</p>
                     </div>
     </div>
-
-
-<p>Notice there is a shorthand syntax in Camel for well-known data formats that is commonly used.<br clear="none">
-Then you don't need to create an instance of the <code>HL7DataFormat</code> object:</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[
-  from(&quot;direct:hl7in&quot;).marshal().hl7().to(&quot;jms:queue:hl7out&quot;);
+    <div class="aui-message warning shadowed information-macro">
+                    <p class="title">Charset</p>
+                            <span class="aui-icon icon-warning">Icon</span>
+                <div class="message-content">
+                            <p>As of <strong>Camel 2.14.1</strong>, both <code>marshal and unmarshal</code> consider the charset provided in the field&#160;<code>MSH-18</code>. If this field is empty, by default the charset contained in the corresponding Camel charset property/header is assumed. You can even change this default behavior by overriding the <code>guessCharsetName</code> method when inheriting from the <code>HL7DataFormat</code> class.</p>
+                    </div>
+    </div>
+<p>&#160;</p><p>Notice there is a shorthand syntax in Camel for well-known data formats that is commonly used.<br clear="none"> Then you don't need to create an instance of the <code>HL7DataFormat</code> object:</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[  from(&quot;direct:hl7in&quot;).marshal().hl7().to(&quot;jms:queue:hl7out&quot;);
   from(&quot;jms:queue:hl7out&quot;).unmarshal().hl7().to(&quot;patientLookupService&quot;);
 ]]></script>
-</div></div>
-
-    <div class="aui-message success shadowed information-macro">
+</div></div>    <div class="aui-message success shadowed information-macro">
                     <p class="title">Serializable messages</p>
                             <span class="aui-icon icon-success">Icon</span>
                 <div class="message-content">
-                            
-<p>As of HAPI 2.0 (used by <strong>Camel 2.11</strong>), the HL7v2 model classes are fully serializable. So you can put HL7v2 messages directly into a JMS queue (i.e. without calling <code>marshal()</code> and read them again directly from the queue (i.e. without calling <code>unmarshal()</code>.</p>
+                            <p>As of HAPI 2.0 (used by <strong>Camel 2.11</strong>), the HL7v2 model classes are fully serializable. So you can put HL7v2 messages directly into a JMS queue (i.e. without calling <code>marshal()</code> and read them again directly from the queue (i.e. without calling <code>unmarshal()</code>.</p>
                     </div>
     </div>
-
-
 <h2 id="BookInOnePage-EDIDataFormat">EDI DataFormat</h2>
 
 <p>We encourage end users to look at the <a shape="rect" class="external-link" href="http://milyn.codehaus.org/Home" rel="nofollow">Smooks</a> which supports EDI and Camel natively.</p>
@@ -18212,17 +18197,14 @@ droppable = false}
 <h3 id="BookInOnePage-URIFormat">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[aws-sqs://queue-name[?options]
 ]]></script>
-</div></div><p>The queue will be created if they don't already exists.<br clear="none"> You can append query options to the URI in the following format, ?options=value&amp;option2=value&amp;...</p><h3 id="BookInOnePage-URIOptions">URI 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> Default Value </p></th><th colspan="1" rowspan="1" class="confluenceTh"><p> Context </p></th><th colspan="1" rowspan="1" class="confluenceTh"><p> Description </p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>amazonSQSClient </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>null</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> Shared </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> Reference to a <code>com.amazonaws.services.sqs.AmazonSQS</code> in the <a shape="rect" href="registry.html">
 Registry</a>. </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>accessKey </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>null</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> Shared </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> Amazon AWS Access Key </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>secretKey </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>null</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> Shared </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> Amazon AWS Secret Key </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>amazonSQSEndpoint </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>null</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> Shared </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> The region with which the AWS-SQS client wants to work wit
 h. Only works if Camel creates the AWS-SQS client, i.e., if you explicitly set amazonSQSClient, then this setting will have no effect. You would have to set it on the client you create directly </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>attributeNames </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>null</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> Consumer </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> A list of attributes to set in the <code>com.amazonaws.services.sqs.model.ReceiveMessageRequest</code>. </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>defaultVisibilityTimeout </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>null</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> Shared </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> The visibility timeout (in seconds) to set in the <code>com.amazonaws.services.sqs.model.Create
 QueueRequest</code>. </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>deleteAfterRead </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>true</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> Consumer </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> Delete message from SQS after it has been read </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>deleteIfFiltered </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>true</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> Consumer </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <strong>Camel 2.12.2,2.13.0</strong> Whether or not to send the DeleteMessage to the SQS queue if an exchange fails to get through a filter. If 'false' and exchange does not make it through a Camel filter upstream in the route, then don't send DeleteMessage. </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>m
 axMessagesPerPoll</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>null</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> Consumer </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> The maximum number of messages which can be received in one poll to set in the <code>com.amazonaws.services.sqs.model.ReceiveMessageRequest</code>. </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>visibilityTimeout </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>null</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> Shared </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> The duration (in seconds) that the received messages are hidden from subsequent retrieve requests after being retrieved by a ReceiveMessage request to set in the <code>com.amazonaws.services.sqs.model.SetQueueAttributesRequest</code>. This only make sense if its different from <code>defaultVisibilityTimeout</code>. It 
 changes the queue visibility timeout attribute permanently. </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>messageVisibilityTimeout </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>null</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> Consumer </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <strong>Camel 2.8:</strong> The duration (in seconds) that the received messages are hidden from subsequent retrieve requests after being retrieved by a ReceiveMessage request to set in the <code>com.amazonaws.services.sqs.model.ReceiveMessageRequest</code>. It does <strong>NOT</strong> change the queue visibility timeout attribute permanently. </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> extendMessageVisibility </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>false</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> Consumer </p></td><td colspan="1" rowspan="1
 " class="confluenceTd"><p> <strong>Camel 2.10:</strong> If enabled then a scheduled background task will keep extending the message visibility on SQS. This is needed if it taks a long time to process the message. If set to true <code>defaultVisibilityTimeout</code> must be set.  See details at <a shape="rect" class="external-link" href="http://docs.amazonwebservices.com/AWSSimpleQueueService/latest/APIReference/Query_QueryChangeMessageVisibility.html" rel="nofollow">Amazon docs</a>. </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>maximumMessageSize </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>null</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> Shared </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <strong>Camel 2.8:</strong> The maximumMessageSize (in bytes) an SQS message can contain for this queue, to set in the <code>com.amazonaws.services.sqs.model.SetQueueAttributesRequest</code>. </p></td></tr><tr
 ><td colspan="1" rowspan="1" class="confluenceTd"><p>messageRetentionPeriod </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>null</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> Shared </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <strong>Camel 2.8:</strong> The messageRetentionPeriod (in seconds) a message will be retained by SQS for this queue, to set in the <code>com.amazonaws.services.sqs.model.SetQueueAttributesRequest</code>. </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>policy </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>null</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> Shared </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <strong>Camel 2.8:</strong> The policy for this queue to set in the <code>com.amazonaws.services.sqs.model.SetQueueAttributesRequest</code>. </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>delayS
 econds </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>null</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> Producer </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <strong>Camel 2.9.3:</strong> Delay sending messages for a number of seconds. </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>waitTimeSeconds </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>0</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> Producer </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <strong>Camel 2.11:</strong> Duration in seconds (0 to 20) that the ReceiveMessage action call will wait until a message is in the queue to include in the response. </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>receiveMessageWaitTimeSeconds </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>0</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>
  Shared </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <strong>Camel 2.11:</strong> If you do not specify WaitTimeSeconds in the request, the queue attribute ReceiveMessageWaitTimeSeconds is used to determine how long to wait. </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>queueOwnerAWSAccountId </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>null</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> Shared </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.12:</strong> Specify the queue owner aws account id when you need to connect the queue with different account owner. </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>region </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>null</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> Shared </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.12.3:</strong> S
 pecify the queue region which could be used with <code>queueOwnerAWSAccountId</code> to build the service URL. </p></td></tr></tbody></table></div>
-    <div class="aui-message hint shadowed information-macro">
+</div></div><p>The queue will be created if they don't already exists.<br clear="none"> You can append query options to the URI in the following format, ?options=value&amp;option2=value&amp;...</p><h3 id="BookInOnePage-URIOptions">URI 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>Default Value</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Context</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>amazonSQSClient</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Shared</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Reference to a <code>com.amazonaws.services.sqs.AmazonSQS</code> in the <a shape="rect" href="registry.html">Registry</a>.<
 /p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>accessKey</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Shared</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Amazon AWS Access Key</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>secretKey</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Shared</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Amazon AWS Secret Key</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>amazonSQSEndpoint</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Shared</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The region with which the AWS-SQS client wants to work with. Only works if Camel creates the 
 AWS-SQS client, i.e., if you explicitly set amazonSQSClient, then this setting will have no effect. You would have to set it on the client you create directly</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>attributeNames</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Consumer</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>A list of attributes to set in the <code>com.amazonaws.services.sqs.model.ReceiveMessageRequest</code>.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>defaultVisibilityTimeout</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Shared</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The visibility timeout (in seconds) to set in the <code>com.amazonaws.services.sqs.model.CreateQueueRequest</code>.</p></td></tr><tr><td colspan
 ="1" rowspan="1" class="confluenceTd"><p>deleteAfterRead</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>true</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Consumer</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Delete message from SQS after it has been read</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>deleteIfFiltered</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>true</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Consumer</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.12.2,2.13.0</strong> Whether or not to send the DeleteMessage to the SQS queue if an exchange fails to get through a filter. If 'false' and exchange does not make it through a Camel filter upstream in the route, then don't send DeleteMessage.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>maxMessagesPerPoll</p></td><td colspan="1" rowspan="1" class="con
 fluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Consumer</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The maximum number of messages which can be received in one poll to set in the <code>com.amazonaws.services.sqs.model.ReceiveMessageRequest</code>.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>visibilityTimeout</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Shared</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The duration (in seconds) that the received messages are hidden from subsequent retrieve requests after being retrieved by a ReceiveMessage request to set in the <code>com.amazonaws.services.sqs.model.SetQueueAttributesRequest</code>. This only make sense if its different from <code>defaultVisibilityTimeout</code>. It changes the queue visibility timeout attribute permanently.</p></td></tr><tr
 ><td colspan="1" rowspan="1" class="confluenceTd"><p>messageVisibilityTimeout</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Consumer</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.8:</strong> The duration (in seconds) that the received messages are hidden from subsequent retrieve requests after being retrieved by a ReceiveMessage request to set in the <code>com.amazonaws.services.sqs.model.ReceiveMessageRequest</code>. It does <strong>NOT</strong> change the queue visibility timeout attribute permanently.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>extendMessageVisibility</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Consumer</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.10:</strong> If enabled then a scheduled backgro
 und task will keep extending the message visibility on SQS. This is needed if it taks a long time to process the message. If set to true <code>defaultVisibilityTimeout</code> must be set. See details at <a shape="rect" class="external-link" href="http://docs.amazonwebservices.com/AWSSimpleQueueService/latest/APIReference/Query_QueryChangeMessageVisibility.html" rel="nofollow">Amazon docs</a>.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>maximumMessageSize</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Shared</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.8:</strong> The maximumMessageSize (in bytes) an SQS message can contain for this queue, to set in the <code>com.amazonaws.services.sqs.model.SetQueueAttributesRequest</code>.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>messageRetentionPeriod</p></td><td colspan="1" 
 rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Shared</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.8:</strong> The messageRetentionPeriod (in seconds) a message will be retained by SQS for this queue, to set in the <code>com.amazonaws.services.sqs.model.SetQueueAttributesRequest</code>.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>policy</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Shared</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.8:</strong> The policy for this queue to set in the <code>com.amazonaws.services.sqs.model.SetQueueAttributesRequest</code>.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>delaySeconds</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowsp
 an="1" class="confluenceTd"><p>Producer</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.9.3:</strong> Delay sending messages for a number of seconds.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>waitTimeSeconds</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>0</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Producer</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.11:</strong> Duration in seconds (0 to 20) that the ReceiveMessage action call will wait until a message is in the queue to include in the response.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>receiveMessageWaitTimeSeconds</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>0</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Shared</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.11:</strong> If you do not specify WaitTimeSecon
 ds in the request, the queue attribute ReceiveMessageWaitTimeSeconds is used to determine how long to wait.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>queueOwnerAWSAccountId</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Shared</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.12:</strong> Specify the queue owner aws account id when you need to connect the queue with different account owner.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>region</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Shared</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.12.3:</strong> Specify the queue region which could be used with <code>queueOwnerAWSAccountId</code> to build the service URL.</p></td></tr><tr><td colspan="1" ro
 wspan="1" class="confluenceTd"><p>redrivePolicy</p></td><td colspan="1" rowspan="1" class="confluenceTd"><code>null</code></td><td colspan="1" rowspan="1" class="confluenceTd">Shared</td><td colspan="1" rowspan="1" class="confluenceTd"><strong>Camel 2.15</strong>: Specify the policy that send message to DeadLetter queue. See detail at <a shape="rect" class="external-link" href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sqs-queues-redrivepolicy.html" rel="nofollow">Amazon docs</a>.</td></tr></tbody></table></div>    <div class="aui-message hint shadowed information-macro">
                     <p class="title">Required SQS component options</p>
                             <span class="aui-icon icon-hint">Icon</span>
                 <div class="message-content">
                             <p>You have to provide the amazonSQSClient in the <a shape="rect" href="registry.html">Registry</a> or your accessKey and secretKey to access the <a shape="rect" class="external-link" href="http://aws.amazon.com/sqs" rel="nofollow">Amazon's SQS</a>.</p>
                     </div>
     </div>
-<h3 id="BookInOnePage-BatchConsumer">Batch Consumer</h3><p>This component implements the <a shape="rect" href="batch-consumer.html">Batch Consumer</a>.</p><p>This allows you for instance to know how many messages exists in this batch and for instance let the <a shape="rect" href="aggregator.html">Aggregator</a> aggregate this number of messages.</p><h3 id="BookInOnePage-Usage.1">Usage</h3><h4 id="BookInOnePage-MessageheaderssetbytheSQSproducer">Message headers set by the SQS producer</h4><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p> Header </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>CamelAwsSqsMD5OfBody</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>String</code> </p></td><td colspan="1" rowspan="1" class="conflu
 enceTd"><p> The MD5 checksum of the Amazon SQS message. </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>CamelAwsSqsMessageId</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>String</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> The Amazon SQS message ID. </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>CamelAwsSqsDelaySeconds</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>Integer</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> Since <strong>Camel 2.11</strong>, the delay seconds that the Amazon SQS message can be see by others. </p></td></tr></tbody></table></div>
-<h4 id="BookInOnePage-MessageheaderssetbytheSQSconsumer">Message headers set by the SQS consumer</h4><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p> Header </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>CamelAwsSqsMD5OfBody</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>String</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> The MD5 checksum of the Amazon SQS message. </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>CamelAwsSqsMessageId</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>String</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> The Amazon SQS message ID. </p></td></tr><tr><td colspan="1" rowspan="1" class="conflue
 nceTd"><p> <code>CamelAwsSqsReceiptHandle</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>String</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>  The Amazon SQS message receipt handle. </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>CamelAwsSqsAttributes</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>Map&lt;String, String&gt;</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> The Amazon SQS message attributes. </p></td></tr></tbody></table></div>
-<h4 id="BookInOnePage-AdvancedAmazonSQSconfiguration">Advanced AmazonSQS configuration</h4><p>If your Camel Application is running behind a firewall or if you need to have more control over the AmazonSQS instance configuration, you can create your own instance:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<h3 id="BookInOnePage-BatchConsumer">Batch Consumer</h3><p>This component implements the <a shape="rect" href="batch-consumer.html">Batch Consumer</a>.</p><p>This allows you for instance to know how many messages exists in this batch and for instance let the <a shape="rect" href="aggregator.html">Aggregator</a> aggregate this number of messages.</p><h3 id="BookInOnePage-Usage.1">Usage</h3><h4 id="BookInOnePage-MessageheaderssetbytheSQSproducer">Message headers set by the SQS producer</h4><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Header</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>CamelAwsSqsMD5OfBody</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p
 >The MD5 checksum of the Amazon SQS message.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelAwsSqsMessageId</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The Amazon SQS message ID.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelAwsSqsDelaySeconds</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>Integer</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Since <strong>Camel 2.11</strong>, the delay seconds that the Amazon SQS message can be see by others.</p></td></tr></tbody></table></div><h4 id="BookInOnePage-MessageheaderssetbytheSQSconsumer">Message headers set by the SQS consumer</h4><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Header</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Type</p></t
 h><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelAwsSqsMD5OfBody</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The MD5 checksum of the Amazon SQS message.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelAwsSqsMessageId</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The Amazon SQS message ID.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelAwsSqsReceiptHandle</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The Amazon SQS message receipt handle.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelAwsSqsAt
 tributes</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>Map&lt;String, String&gt;</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The Amazon SQS message attributes.</p></td></tr></tbody></table></div><h4 id="BookInOnePage-AdvancedAmazonSQSconfiguration">Advanced AmazonSQS configuration</h4><p>If your Camel Application is running behind a firewall or if you need to have more control over the AmazonSQS instance configuration, you can create your own instance:</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[AWSCredentials awsCredentials = new BasicAWSCredentials(&quot;myAccessKey&quot;, &quot;mySecretKey&quot;);
 
 ClientConfiguration clientConfiguration = new ClientConfiguration();
@@ -19350,11 +19332,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.rbtoc1417598338871 {padding: 0px;}
-div.rbtoc1417598338871 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1417598338871 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1417781949130 {padding: 0px;}
+div.rbtoc1417781949130 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1417781949130 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style></p><div class="toc-macro rbtoc1417598338871">
+/*]]>*/</style></p><div class="toc-macro rbtoc1417781949130">
 <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>
@@ -22832,7 +22814,7 @@ hibernate:[entityClassName][?options]
     &lt;!-- use the same version as your Camel core version --&gt;
 &lt;/dependency&gt;
 ]]></script>
-</div></div><h3 id="BookInOnePage-HL7MLLPprotocol">HL7 MLLP protocol</h3><p>HL7 is often used with the HL7 MLLP protocol that is a text based TCP socket based protocol. This component ships with a Mina Codec that conforms to the MLLP protocol so you can easily expose a HL7 listener that accepts HL7 requests over the TCP transport.</p><p>To expose a HL7 listener service we reuse the existing mina2 component where we just use the <code>HL7MLLPCodec</code> as codec.</p><p>The HL7 MLLP codec has the following options:</p><div class="confluenceTableSmall"><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>Default Value</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>startByte</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>0x0b</code></
 p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The start byte spanning the HL7 payload.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>endByte1</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>0x1c</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The first end byte spanning the HL7 payload.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>endByte2</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>0x0d</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The 2nd end byte spanning the HL7 payload.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>charset</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>JVM Default</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The encoding (is a <a shape="rect" class="external-link" href="http://docs.oracle.com/javase/6/docs/api/java/nio/charset/Charset.
 html" rel="nofollow">charset name</a>) to use for the codec. If not provided, Camel will use the <a shape="rect" class="external-link" href="http://docs.oracle.com/javase/6/docs/api/java/nio/charset/Charset.html#defaultCharset()" rel="nofollow">JVM default Charset</a>.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>convertLFtoCR</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Will convert <code>\n</code> to <code>\r</code> (<code>0x0d</code>, 13 decimal) as HL7 stipulates <code>\r</code> as segment terminators. The HAPI library requires the use of <code>\r</code>.</p></td></tr></tbody></table></div></div><h4 id="BookInOnePage-ExposingaHL7listener">Exposing a HL7 listener</h4><p>In our Spring XML file, we configure an endpoint to listen for HL7 requests using TCP:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pd
 l">
+</div></div><h3 id="BookInOnePage-HL7MLLPprotocol">HL7 MLLP protocol</h3><p>HL7 is often used with the HL7 MLLP protocol that is a text based TCP socket based protocol. This component ships with a Mina Codec that conforms to the MLLP protocol so you can easily expose a HL7 listener that accepts HL7 requests over the TCP transport.</p><p>To expose a HL7 listener service we reuse the existing mina2 component where we just use the <code>HL7MLLPCodec</code> as codec.</p><p>The HL7 MLLP codec has the following options:</p><div class="confluenceTableSmall"><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>Default Value</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>startByte</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>0x0b</code></
 p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The start byte spanning the HL7 payload.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>endByte1</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>0x1c</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The first end byte spanning the HL7 payload.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>endByte2</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>0x0d</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The 2nd end byte spanning the HL7 payload.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>charset</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>JVM Default</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The encoding (is a <a shape="rect" class="external-link" href="http://docs.oracle.com/javase/6/docs/api/java/nio/charset/Charset.
 html" rel="nofollow">charset name</a>) to use for the codec. If not provided, Camel will use the <a shape="rect" class="external-link" href="http://docs.oracle.com/javase/6/docs/api/java/nio/charset/Charset.html#defaultCharset()" rel="nofollow">JVM default Charset</a>.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>convertLFtoCR</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Will convert <code>\n</code> to <code>\r</code> (<code>0x0d</code>, 13 decimal) as HL7 stipulates <code>\r</code> as segment terminators. The HAPI library requires the use of <code>\r</code>.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><code>produceString</code></td><td colspan="1" rowspan="1" class="confluenceTd"><code>true</code></td><td colspan="1" rowspan="1" class="confluenceTd"><strong>(Camel 2.14.1)</strong> If true, the codec creates a string using the defin
 ed charset. If false, the codec sends the plain byte array into the route, so that the HL7 Data Format can determine the actual charset from the HL7 message content.</td></tr></tbody></table></div></div><h4 id="BookInOnePage-ExposingaHL7listener">Exposing a HL7 listener</h4><p>In our Spring XML file, we configure an endpoint to listen for HL7 requests using TCP:</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;endpoint id=&quot;hl7listener&quot; uri=&quot;mina:tcp://localhost:8888?sync=true&amp;amp;codec=#hl7codec&quot;/&gt;
         &lt;!-- Camel 2.11: uri=&quot;mina2:tcp... --&gt;
 ]]></script>
@@ -22862,7 +22844,7 @@ public class PatientLookupService {
         return response
     }
 ]]></script>
-</div></div><p>Notice that this class uses just imports from the HAPI library and <strong>not</strong> from Camel.</p><h3 id="BookInOnePage-HL7Modelusingjava.lang.String">HL7 Model using java.lang.String</h3><p>The HL7MLLP codec uses plain <code>String</code> as its data format. Camel uses its <a shape="rect" href="type-converter.html">Type Converter</a> to convert to/from strings to the HAPI HL7 model objects. However, you can use plain <code>String</code> objects if you prefer, for instance if you wish to parse the data yourself.</p><p>See samples for such an example.</p><h3 id="BookInOnePage-HL7v2ModelusingHAPI">HL7v2 Model using HAPI</h3><p>The HL7v2 model uses Java objects from the HAPI library. Using this library, we can encode and decode from the EDI format (ER7) that is mostly used with HL7v2.<br clear="none"> With this model you can code with Java objects instead of the EDI based HL7 format that can be hard for humans to read and understand.</p><p>The sample below is a requ
 est to lookup a patient with the patient ID <code>0101701234</code>.</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div><p>Notice that this class uses just imports from the HAPI library and <strong>not</strong> from Camel.</p><h3 id="BookInOnePage-HL7Modelusingjava.lang.Stringorbyte[]">HL7 Model using java.lang.String or byte[]</h3><p>The HL7MLLP codec uses plain <code>String</code> as its data format. Camel uses its <a shape="rect" href="type-converter.html">Type Converter</a> to convert to/from strings to the HAPI HL7 model objects. However, you can use plain <code>String</code> objects if you prefer, for instance if you wish to parse the data yourself.</p><p>See samples for such an example.</p><p>As of Camel 2.14.1 you can also let the codec use a plain&#160;<code>byte[]</code> as its data format. The Type Converter is also capable of converting the&#160;<code>byte[]</code> to/from HAPI HL7 model objects. Furthermore,</p><h3 id="BookInOnePage-HL7v2ModelusingHAPI">HL7v2 Model using HAPI</h3><p>The HL7v2 model uses Java objects from the HAPI library. Using this library, we can encode and
  decode from the EDI format (ER7) that is mostly used with HL7v2.<br clear="none"> With this model you can code with Java objects instead of the EDI based HL7 format that can be hard for humans to read and understand.</p><p>The sample below is a request to lookup a patient with the patient ID <code>0101701234</code>.</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[MSH|^~\\&amp;|MYSENDER|MYRECEIVER|MYAPPLICATION||200612211200||QRY^A19|1234|P|2.4
 QRD|200612211200|R|I|GetPatient|||1^RD|0101701234|DEM||
 ]]></script>
@@ -22878,60 +22860,41 @@ String patientId = msg.getQRD().getWhoSu
 </div></div><p>Camel has built-in type converters, so when this operation is invoked:</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[Message msg = exchange.getIn().getBody(Message.class);
 ]]></script>
-</div></div><p>Camel will convert the received HL7 data from <code>String</code> to <code>Message</code>. This is powerful when combined with the HL7 listener, then you as the end-user don't have to work with <code>byte[]</code>, <code>String</code> or any other simple object formats. You can just use the HAPI HL7v2 model objects.</p><p></p><h3 id="BookInOnePage-HL7DataFormat.1">HL7 DataFormat</h3>
-<p>The <a shape="rect" href="hl7.html">HL7</a> component ships with a HL7 data format that can be used to format between <code>String</code> and HL7 model objects. </p>
-<ul class="alternate"><li><code>marshal</code> = from Message to byte stream (can be used when returning as response using the HL7 MLLP codec)</li><li><code>unmarshal</code> = from byte stream to Message (can be used when receiving streamed data from the HL7 MLLP</li></ul>
-
-
-<p>To use the data format, simply instantiate an instance and invoke the marshal or unmarshal operation in the route builder:</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[
-  DataFormat hl7 = new HL7DataFormat();
+</div></div><p>Camel will convert the received HL7 data to <code>Message</code>. This is powerful when combined with the HL7 listener, then you as the end-user don't have to work with <code>byte[]</code>, <code>String</code> or any other simple object formats. You can just use the HAPI HL7v2 model objects.</p><p></p><h3 id="BookInOnePage-HL7DataFormat.1">HL7 DataFormat</h3><p>The <a shape="rect" href="hl7.html">HL7</a> component ships with a HL7 data format that can be used to marshal or unmarshal HL7 model objects.</p><ul class="alternate"><li><code>marshal</code> = from Message to byte stream (can be used when returning as response using the HL7 MLLP codec)</li><li><code>unmarshal</code> = from byte stream to Message (can be used when receiving streamed data from the HL7 MLLP</li></ul><p>To use the data format, simply instantiate an instance and invoke the marshal or unmarshal operation in the route builder:</p><div class="code panel pdl" style="border-width: 1px;"><div class="cod
 eContent panelContent pdl">
+<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[  DataFormat hl7 = new HL7DataFormat();
   ...
   from(&quot;direct:hl7in&quot;).marshal(hl7).to(&quot;jms:queue:hl7out&quot;);
 ]]></script>
-</div></div>
-<p>In the sample above, the HL7 is marshalled from a HAPI Message object to a byte stream and put on a JMS queue.<br clear="none">
-The next example is the opposite:</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[
-  DataFormat hl7 = new HL7DataFormat();
+</div></div><p>In the sample above, the HL7 is marshalled from a HAPI Message object to a byte stream and put on a JMS queue.<br clear="none"> The next example is the opposite:</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[  DataFormat hl7 = new HL7DataFormat();
   ...
   from(&quot;jms:queue:hl7out&quot;).unmarshal(hl7).to(&quot;patientLookupService&quot;);
 ]]></script>
-</div></div>
-<p>Here we unmarshal the byte stream into a HAPI Message object that is passed to our patient lookup service.</p>
-
-    <div class="aui-message warning shadowed information-macro">
+</div></div><p>Here we unmarshal the byte stream into a HAPI Message object that is passed to our patient lookup service.</p>    <div class="aui-message warning shadowed information-macro">
                     <p class="title">Segment separators</p>
                             <span class="aui-icon icon-warning">Icon</span>
                 <div class="message-content">
-                            
-<p>As of <strong>Camel 2.11</strong>, <code>unmarshal</code> does not automatically fix segment separators anymore by converting <code>\n</code> to <code>\r</code>. If you <br clear="none">
-need this conversion, <code>org.apache.camel.component.hl7.HL7#convertLFToCR</code> provides a handy <code>Expression</code> for this purpose.</p>
+                            <p>As of <strong>Camel 2.11</strong>, <code>unmarshal</code> does not automatically fix segment separators anymore by converting <code>\n</code> to <code>\r</code>. If you <br clear="none"> need this conversion, <code>org.apache.camel.component.hl7.HL7#convertLFToCR</code> provides a handy <code>Expression</code> for this purpose.</p>
                     </div>
     </div>
-
-
-<p>Notice there is a shorthand syntax in Camel for well-known data formats that is commonly used.<br clear="none">
-Then you don't need to create an instance of the <code>HL7DataFormat</code> object:</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[
-  from(&quot;direct:hl7in&quot;).marshal().hl7().to(&quot;jms:queue:hl7out&quot;);
+    <div class="aui-message warning shadowed information-macro">
+                    <p class="title">Charset</p>
+                            <span class="aui-icon icon-warning">Icon</span>
+                <div class="message-content">
+                            <p>As of <strong>Camel 2.14.1</strong>, both <code>marshal and unmarshal</code> consider the charset provided in the field&#160;<code>MSH-18</code>. If this field is empty, by default the charset contained in the corresponding Camel charset property/header is assumed. You can even change this default behavior by overriding the <code>guessCharsetName</code> method when inheriting from the <code>HL7DataFormat</code> class.</p>
+                    </div>
+    </div>
+<p>&#160;</p><p>Notice there is a shorthand syntax in Camel for well-known data formats that is commonly used.<br clear="none"> Then you don't need to create an instance of the <code>HL7DataFormat</code> object:</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[  from(&quot;direct:hl7in&quot;).marshal().hl7().to(&quot;jms:queue:hl7out&quot;);
   from(&quot;jms:queue:hl7out&quot;).unmarshal().hl7().to(&quot;patientLookupService&quot;);
 ]]></script>
-</div></div>
-
-    <div class="aui-message success shadowed information-macro">
+</div></div>    <div class="aui-message success shadowed information-macro">
                     <p class="title">Serializable messages</p>
                             <span class="aui-icon icon-success">Icon</span>
                 <div class="message-content">
-                            
-<p>As of HAPI 2.0 (used by <strong>Camel 2.11</strong>), the HL7v2 model classes are fully serializable. So you can put HL7v2 messages directly into a JMS queue (i.e. without calling <code>marshal()</code> and read them again directly from the queue (i.e. without calling <code>unmarshal()</code>.</p>
+                            <p>As of HAPI 2.0 (used by <strong>Camel 2.11</strong>), the HL7v2 model classes are fully serializable. So you can put HL7v2 messages directly into a JMS queue (i.e. without calling <code>marshal()</code> and read them again directly from the queue (i.e. without calling <code>unmarshal()</code>.</p>
                     </div>
-    </div>
-
-<h3 id="BookInOnePage-MessageHeaders.5">Message Headers</h3><p>The <strong>unmarshal</strong> operation adds these MSH fields as headers on the Camel message:</p><div class="confluenceTableSmall"><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Key</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>MSH field</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Example</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelHL7SendingApplication</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>MSH-3</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>MYSERVER</code></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelHL7SendingFacility</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>MSH-4</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>MYSERVERAPP</code></
 p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelHL7ReceivingApplication</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>MSH-5</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>MYCLIENT</code></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelHL7ReceivingFacility</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>MSH-6</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>MYCLIENTAPP</code></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelHL7Timestamp</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>MSH-7</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>20071231235900</code></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelHL7Security</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>MSH-8</code></p></td><
 td colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelHL7MessageType</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>MSH-9-1</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>ADT</code></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelHL7TriggerEvent</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>MSH-9-2</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>A01</code></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelHL7MessageControl</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>MSH-10</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>1234</code></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelHL7ProcessingId</code></p></td><td colspan="1" rowspan="1" class
 ="confluenceTd"><p><code>MSH-11</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>P</code></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelHL7VersionId</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>MSH-12</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>2.4</code></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><code>CamelHL7Context </code><code><br clear="none"></code></td><td colspan="1" rowspan="1" class="confluenceTd">-</td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>(Camel 2.14)</strong> contains the HapiContext that<br clear="none">was used to parse the message</p></td></tr></tbody></table></div></div><p>All headers except&#160;<code>CamelHL7Context </code>are <code>String</code> types. If a header value is missing, its value is <code>null</code>.</p><h3 id="BookInOnePage-Options.42">Options</h3><p>The HL7 Data Format supports the followin
 g options:</p><div class="confluenceTableSmall"><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>validate</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>true</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Whether the HAPI Parser should validate using the default validation rules. Better use the <code>parser</code> or <code>hapiContext</code> option and initialize it with the desired HAPI <code>ValidationContext</code></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>parser</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>ca.uhn.hl7v2.parser.GenericParser</code></p></td><td colspan="1" rowspan="1" class="confluenceTd
 "><p>Use a custom parser. Must be of type <code>ca.uhn.hl7v2.parser.Parser</code>. Note that <code>GenericParser</code> also allows to parse XML-encoded HL7v2 messages</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><code>hapiContext</code></td><td colspan="1" rowspan="1" class="confluenceTd"><code>ca.uhn.hl7v2.DefaultHapiContext</code></td><td colspan="1" rowspan="1" class="confluenceTd"><strong>Camel 2.14:</strong> Use a custom HAPI context that can define a custom parser, custom ValidationContext etc. This gives you full control over the HL7 parsing and rendering process.</td></tr></tbody></table></div></div><h3 id="BookInOnePage-Dependencies.36">Dependencies</h3><p>To use HL7 in your Camel routes you'll need to add a dependency on <strong>camel-hl7</strong> listed above, which implements this data format.</p><p>The HAPI library since Version 0.6 has been split into a <a shape="rect" class="external-link" href="http://repo1.maven.org/maven2/ca/uhn/hapi/hapi-base
 " rel="nofollow">base library</a> and several structure libraries, one for each HL7v2 message version:</p><ul><li><a shape="rect" class="external-link" href="http://repo1.maven.org/maven2/ca/uhn/hapi/hapi-structures-v21" rel="nofollow">v2.1 structures library</a></li><li><a shape="rect" class="external-link" href="http://repo1.maven.org/maven2/ca/uhn/hapi/hapi-structures-v22" rel="nofollow">v2.2 structures library</a></li><li><a shape="rect" class="external-link" href="http://repo1.maven.org/maven2/ca/uhn/hapi/hapi-structures-v23" rel="nofollow">v2.3 structures library</a></li><li><a shape="rect" class="external-link" href="http://repo1.maven.org/maven2/ca/uhn/hapi/hapi-structures-v231" rel="nofollow">v2.3.1 structures library</a></li><li><a shape="rect" class="external-link" href="http://repo1.maven.org/maven2/ca/uhn/hapi/hapi-structures-v24" rel="nofollow">v2.4 structures library</a></li><li><a shape="rect" class="external-link" href="http://repo1.maven.org/maven2/ca/uhn/hapi/hapi
 -structures-v25" rel="nofollow">v2.5 structures library</a></li><li><a shape="rect" class="external-link" href="http://repo1.maven.org/maven2/ca/uhn/hapi/hapi-structures-v251" rel="nofollow">v2.5.1 structures library</a></li><li><a shape="rect" class="external-link" href="http://repo1.maven.org/maven2/ca/uhn/hapi/hapi-structures-v26" rel="nofollow">v2.6 structures library</a></li></ul><p>By default <code>camel-hl7</code> only references the HAPI <a shape="rect" class="external-link" href="http://repo1.maven.org/maven2/ca/uhn/hapi/hapi-base" rel="nofollow">base library</a>. Applications are responsible for including structure libraries themselves. For example, if a application works with HL7v2 message versions 2.4 and 2.5 then the following dependencies must be added:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+    </div><h3 id="BookInOnePage-MessageHeaders.5">Message Headers</h3><p>The <strong>unmarshal</strong> operation adds these MSH fields as headers on the Camel message:</p><div class="confluenceTableSmall"><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Key</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>MSH field</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Example</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelHL7SendingApplication</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>MSH-3</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>MYSERVER</code></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelHL7SendingFacility</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>MSH-4</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>MYSERVERAP
 P</code></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelHL7ReceivingApplication</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>MSH-5</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>MYCLIENT</code></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelHL7ReceivingFacility</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>MSH-6</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>MYCLIENTAPP</code></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelHL7Timestamp</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>MSH-7</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>20071231235900</code></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelHL7Security</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>MSH-8</code>
 </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelHL7MessageType</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>MSH-9-1</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>ADT</code></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelHL7TriggerEvent</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>MSH-9-2</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>A01</code></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelHL7MessageControl</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>MSH-10</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>1234</code></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelHL7ProcessingId</code></p></td><td colspan="1" rowspan
 ="1" class="confluenceTd"><p><code>MSH-11</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>P</code></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelHL7VersionId</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>MSH-12</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>2.4</code></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><code>CamelHL7Context </code><code><br clear="none"></code></td><td colspan="1" rowspan="1" class="confluenceTd">-</td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>(Camel 2.14)</strong> contains the HapiContext that<br clear="none">was used to parse the message</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><code>CamelHL7Charset</code></td><td colspan="1" rowspan="1" class="confluenceTd"><code>MSH-18</code></td><td colspan="1" rowspan="1" class="confluenceTd"><strong>(Camel 2.14.1)</strong> <code><br clear="non
 e">UNICODE UTF-8</code></td></tr></tbody></table></div></div><p>All headers except&#160;<code>CamelHL7Context </code>are <code>String</code> types. If a header value is missing, its value is <code>null</code>.</p><h3 id="BookInOnePage-Options.42">Options</h3><p>The HL7 Data Format supports the following options:</p><div class="confluenceTableSmall"><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>validate</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>true</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Whether the HAPI Parser should validate using the default validation rules. Better use the <code>parser</code> or <code>hapiContext</code> option and initialize it w
 ith the desired HAPI <code>ValidationContext</code></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>parser</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>ca.uhn.hl7v2.parser.GenericParser</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Use a custom parser. Must be of type <code>ca.uhn.hl7v2.parser.Parser</code>. Note that <code>GenericParser</code> also allows to parse XML-encoded HL7v2 messages</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><code>hapiContext</code></td><td colspan="1" rowspan="1" class="confluenceTd"><code>ca.uhn.hl7v2.DefaultHapiContext</code></td><td colspan="1" rowspan="1" class="confluenceTd"><strong>Camel 2.14:</strong> Use a custom HAPI context that can define a custom parser, custom ValidationContext etc. This gives you full control over the HL7 parsing and rendering process.</td></tr></tbody></table></div></div><h3 id="BookInOnePage-Dependencies.36">Dependencies</h3><
 p>To use HL7 in your Camel routes you'll need to add a dependency on <strong>camel-hl7</strong> listed above, which implements this data format.</p><p>The HAPI library is split into a <a shape="rect" class="external-link" href="http://repo1.maven.org/maven2/ca/uhn/hapi/hapi-base" rel="nofollow">base library</a> and several structure libraries, one for each HL7v2 message version:</p><ul><li><a shape="rect" class="external-link" href="http://repo1.maven.org/maven2/ca/uhn/hapi/hapi-structures-v21" rel="nofollow">v2.1 structures library</a></li><li><a shape="rect" class="external-link" href="http://repo1.maven.org/maven2/ca/uhn/hapi/hapi-structures-v22" rel="nofollow">v2.2 structures library</a></li><li><a shape="rect" class="external-link" href="http://repo1.maven.org/maven2/ca/uhn/hapi/hapi-structures-v23" rel="nofollow">v2.3 structures library</a></li><li><a shape="rect" class="external-link" href="http://repo1.maven.org/maven2/ca/uhn/hapi/hapi-structures-v231" rel="nofollow">v2.3.1 
 structures library</a></li><li><a shape="rect" class="external-link" href="http://repo1.maven.org/maven2/ca/uhn/hapi/hapi-structures-v24" rel="nofollow">v2.4 structures library</a></li><li><a shape="rect" class="external-link" href="http://repo1.maven.org/maven2/ca/uhn/hapi/hapi-structures-v25" rel="nofollow">v2.5 structures library</a></li><li><a shape="rect" class="external-link" href="http://repo1.maven.org/maven2/ca/uhn/hapi/hapi-structures-v251" rel="nofollow">v2.5.1 structures library</a></li><li><a shape="rect" class="external-link" href="http://repo1.maven.org/maven2/ca/uhn/hapi/hapi-structures-v26" rel="nofollow">v2.6 structures library</a></li></ul><p>By default <code>camel-hl7</code> only references the HAPI <a shape="rect" class="external-link" href="http://repo1.maven.org/maven2/ca/uhn/hapi/hapi-base" rel="nofollow">base library</a>. Applications are responsible for including structure libraries themselves. For example, if a application works with HL7v2 message versions
  2.4 and 2.5 then the following dependencies must be added:</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;dependency&gt;
     &lt;groupId&gt;ca.uhn.hapi&lt;/groupId&gt;
     &lt;artifactId&gt;hapi-structures-v24&lt;/artifactId&gt;
@@ -30802,9 +30765,7 @@ from(&quot;vm:order.email&quot;).bean(My
 </div></div><h3 id="BookInOnePage-URIformat.76">URI format</h3><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
 <script class="theme: Default; brush: text; gutter: false" type="syntaxhighlighter"><![CDATA[xmpp://[login@]hostname[:port][/participant][?Options]
 ]]></script>
-</div></div><p>The component supports both room based and private person-person conversations.<br clear="none"> The component supports both producer and consumer (you can get messages from XMPP or send messages to XMPP). Consumer mode supports rooms starting.</p><p>You can append query options to the URI in the following format, <code>?option=value&amp;option=value&amp;...</code></p><h3 id="BookInOnePage-Options.80">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></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>room</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> If this option is specified, the component will connect to MUC (Multi User Chat). Usually, the domain name for MUC is different from the login domain. For example, if you are <code>superman@jabber.org</code> and want
  to join the <code>krypton</code> room, then the room URL is <code>krypton@conference.jabber.org</code>. Note the <code>conference</code> part.<br clear="none">
-It is not a requirement to provide the full room JID. If the <code>room</code> parameter does not contain the <code>@</code> symbol, the domain part will be discovered and added by Camel</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>user</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> User name (without server name). If not specified, anonymous login will be attempted. </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> Password. </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>resource</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> XMPP resource. The default is <code>Camel</code>. </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>createAccount</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> If <code>true</code>, an attempt to create a
 n account will be made. Default is <code>false</code>. </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>participant</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> JID (Jabber ID) of person to receive messages. <code>room</code> parameter has precedence over <code>participant</code>. </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>nickname</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> Use nickname when joining room. If room is specified and nickname is not, <code>user</code> will be used for the nickname. </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>serviceName</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> The name of the service you are connecting to. For Google Talk, this would be <code>gmail.com</code>. </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>testConnectionOnStartup</code> </p></td><td cols
 pan="1" rowspan="1" class="confluenceTd"><p> <strong>Camel 2.11</strong> Specifies whether to test the connection on startup. This is used to ensure that the XMPP client has a valid connection to the XMPP server when the route starts. Camel throws an exception on startup if a connection cannot be established. When this option is set to false, Camel will attempt to establish a "lazy" connection when needed by a producer, and will poll for a consumer connection until the connection is established.   Default is <code>true</code>. </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>connectionPollDelay</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <strong>Camel 2.11</strong> The amount of time in seconds between polls to verify the health of the XMPP connection, or between attempts to establish an initial consumer connection. Camel will try to re-establish a connection if it has become inactive. Default is <code>10 seconds</code>.</p></td><
 /tr></tbody></table></div>
-<h3 id="BookInOnePage-HeadersandsettingSubjectorLanguage">Headers and setting Subject or Language</h3><p>Camel sets the message IN headers as properties on the XMPP message. You can configure a <code>HeaderFilterStategy</code> if you need custom filtering of headers.<br clear="none"> The <strong>Subject</strong> and <strong>Language</strong> of the XMPP message are also set if they are provided as IN headers.</p><h3 id="BookInOnePage-Examples.25">Examples</h3><p>User <code>superman</code> to join room <code>krypton</code> at <code>jabber</code> server with password, <code>secret</code>:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">

[... 5 lines stripped ...]
Modified: websites/production/camel/content/cache/main.pageCache
==============================================================================
Binary files - no diff available.