Modified: websites/production/camel/content/book-component-appendix.html
==============================================================================
--- websites/production/camel/content/book-component-appendix.html (original)
+++ websites/production/camel/content/book-component-appendix.html Thu Sep 11 
10:19:20 2014
@@ -1529,11 +1529,11 @@ template.send("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.rbtoc1409141841419 {padding: 0px;}
-div.rbtoc1409141841419 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1409141841419 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1410430680858 {padding: 0px;}
+div.rbtoc1410430680858 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1410430680858 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style></p><div class="toc-macro rbtoc1409141841419">
+/*]]>*/</style></p><div class="toc-macro rbtoc1410430680858">
 <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>
@@ -2191,7 +2191,7 @@ public static class MyProcessor implemen
 </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="BookComponentAppendix-Options.9">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 colspa
 n="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 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 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="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" 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="confluenceT
 d"><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="#BookComponentAppendix-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="conflu
 enceTd"><p><span style="line-height: 1.4285715;">providers</span></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><strong style="line-height: 
1.4285715;">Since Camel 2.12.2</strong><span style="line-height: 1.4285715;"> 
set custom JAX-RS providers list to the CxfRs endpoint.</span></p></td><td 
colspan="1" rowspan="1" 
class="confluenceTd"><p>providers=#MyProviders</p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>No</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><em style="line-height: 
1.4285715;">None</em></p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><span style="line-height: 
1.4285715;">schemaLocations</span></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><strong style="line-height: 1.4285715;">Since Camel 
2.12.2</strong><span style="line-height: 1.4285715;"> Sets the locations of the 
schemas which can be used to validate the incoming XML or JAXB-driven 
JSON.</span></p></td><td colspan="1" rowspan="1" class="co
 nfluenceTd"><p>schemaLocations=#MySchemaLocations</p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>No</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><em style="line-height: 
1.4285715;">None</em></p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><span style="line-height: 
1.4285715;">features</span></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><strong style="line-height: 1.4285715;">Since Camel 
2.12.3</strong><span style="line-height: 1.4285715;"> Set the feature list to 
the CxfRs endpoint.</span></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>features=#MyFeatures</p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>No</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><em style="line-height: 
1.4285715;">None</em></p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>properties</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><strong style="line-height: 1.4285715;">Since Ca
 mel 2.12.4</strong><span style="line-height: 1.4285715;"> Set the properties 
to the CxfRs endpoint.</span></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>properties=#MyProperties</p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>No</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><em style="line-height: 
1.4285715;">None</em></p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>inInterceptors</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><strong style="line-height: 1.4285715;">Since Camel 
2.12.4</strong><span style="line-height: 1.4285715;"> Set the inInterceptors to 
the CxfRs endpoint.</span></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>inInterceptors=#MyInterceptors</p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>No</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><em style="line-height: 
1.4285715;">None</em></p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>outI
 nterceptors</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><strong style="line-height: 1.4285715;">Since Camel 
2.12.4</strong><span style="line-height: 1.4285715;"> Set the outInterceptor to 
the CxfRs endpoint.</span></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><span style="line-height: 
1.4285715;">outInterceptors=#MyInterceptors</span></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><span style="line-height: 
1.4285715;">No</span></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><em style="line-height: 
1.4285715;">None</em></p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>inFaultInterceptors</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><strong style="line-height: 1.4285715;">Since Camel 
2.12.4</strong><span style="line-height: 1.4285715;"> Set the 
inFaultInterceptors to the CxfRs endpoint.</span></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><span style="line-height: 1.4285715;">inFa
 ultInterceptors=#MyInterceptors</span></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><span style="line-height: 
1.4285715;">No</span></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><em style="line-height: 
1.4285715;">None</em></p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>outFaultIntercetpros</p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><strong style="line-height: 
1.4285715;">Since Camel 2.12.4</strong><span style="line-height: 1.4285715;"> 
Set the outFaultInterceptors to the CxfRs endpoint.</span></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><span style="line-height: 
1.4285715;">outFaultInterceptors=#MyInterceptors</span></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><span style="line-height: 
1.4285715;">No</span></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><em style="line-height: 
1.4285715;">None</em></p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>cont
 inuationTimeout</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><span style="line-height: 
1.4285715;"><strong>Since</strong>&#160;</span><strong style="line-height: 
1.4285715;">Camel 2.14.0&#160;</strong><span style="line-height: 
1.4285715;">This option is used to set the CXF continuation timeout which could 
be used in CxfConsumer by default when the CXF server is using Jetty or Servlet 
transport. (Before&#160;</span><strong style="line-height: 1.4285715;">Camel 
2.14.0</strong><span style="line-height: 1.4285715;">, CxfConsumer just set the 
continuation timeout to be 0, which means the continuation suspend operation 
never timeout.)</span></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><span style="line-height: 
1.4285715;">continuationTimeout=800000</span></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>No</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><em style="line-height: 
1.4285715;">30000</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="https://cwiki.apache.org/CXF20DOC/JAX-RS";>CXF JAX-RS documentation</a> 
for more information.</p><h3 
id="BookComponentAppendix-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="BookComponentAppendix-Options.9">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 colspa
 n="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 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 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="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" 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="confluenceT
 d"><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="#BookComponentAppendix-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><li><span style="font-family: 
monospace;">Custom</span> =&gt; allows you to specify a custom binding through 
the <code>binding</code> option.</li></ul></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>bindingStyle=SimpleConsumer</code></p></td><td 
colspan="1" rowspan="1" class="confluenc
 eTd"><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>binding</span></td><td colspan="1" 
rowspan="1" class="confluenceTd">Allows you to specify a custom 
<code>CxfRsBinding</code> implementation to perform low-level processing of the 
raw CXF request and response objects. The implementation must be bound in the 
Camel registry, and you must use the hash (#) notation to refer to it.</td><td 
colspan="1" rowspan="1" 
class="confluenceTd"><code><span>binding=#myBinding</span></code></td><td 
colspan="1" rowspan="1" class="confluenceTd">No</td><td colspan="1" rowspan="1" 
class="confluenceTd"><code>DefaultCxfRsBinding</code></td></tr><tr><td 
colspan="1" rowspan="1" class="confluenceTd"><p><span style="line-height: 
1.4285715;">providers</span></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><strong style="line-height: 1.4285715;">Since Camel 
2.12.2</strong><span style="line-heig
 ht: 1.4285715;"> set custom JAX-RS providers list to the CxfRs 
endpoint.</span></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>providers=#MyProviders</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>No</p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><em style="line-height: 
1.4285715;">None</em></p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><span style="line-height: 
1.4285715;">schemaLocations</span></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><strong style="line-height: 1.4285715;">Since Camel 
2.12.2</strong><span style="line-height: 1.4285715;"> Sets the locations of the 
schemas which can be used to validate the incoming XML or JAXB-driven 
JSON.</span></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>schemaLocations=#MySchemaLocations</code></p></td><td
 colspan="1" rowspan="1" class="confluenceTd"><p>No</p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><em style="line-
 height: 1.4285715;">None</em></p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><span style="line-height: 
1.4285715;">features</span></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><strong style="line-height: 1.4285715;">Since Camel 
2.12.3</strong><span style="line-height: 1.4285715;"> Set the feature list to 
the CxfRs endpoint.</span></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>features=#MyFeatures</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>No</p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><em style="line-height: 
1.4285715;">None</em></p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>properties</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><strong style="line-height: 1.4285715;">Since Camel 
2.12.4</strong><span style="line-height: 1.4285715;"> Set the properties to the 
CxfRs endpoint.</span></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>pro
 perties=#MyProperties</code></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>No</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><em style="line-height: 
1.4285715;">None</em></p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>inInterceptors</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><strong style="line-height: 1.4285715;">Since Camel 
2.12.4</strong><span style="line-height: 1.4285715;"> Set the inInterceptors to 
the CxfRs endpoint.</span></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>inInterceptors=#MyInterceptors</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>No</p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><em style="line-height: 
1.4285715;">None</em></p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>outInterceptors</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><strong style="line-height: 1.4285715;">Since Camel 
2.12.4</strong><span style
 ="line-height: 1.4285715;"> Set the outInterceptor to the CxfRs 
endpoint.</span></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code><span style="line-height: 
1.4285715;">outInterceptors=#MyInterceptors</span></code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><span style="line-height: 
1.4285715;">No</span></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><em style="line-height: 
1.4285715;">None</em></p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>inFaultInterceptors</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><strong style="line-height: 1.4285715;">Since Camel 
2.12.4</strong><span style="line-height: 1.4285715;"> Set the 
inFaultInterceptors to the CxfRs endpoint.</span></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code><span style="line-height: 
1.4285715;">inFaultInterceptors=#MyInterceptors</span></code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><span style="line-height:
  1.4285715;">No</span></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><em style="line-height: 
1.4285715;">None</em></p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>outFaultIntercetpros</p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><strong style="line-height: 
1.4285715;">Since Camel 2.12.4</strong><span style="line-height: 1.4285715;"> 
Set the outFaultInterceptors to the CxfRs endpoint.</span></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code><span style="line-height: 
1.4285715;">outFaultInterceptors=#MyInterceptors</span></code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><span style="line-height: 
1.4285715;">No</span></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><em style="line-height: 
1.4285715;">None</em></p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>continuationTimeout</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><span style="line-height: 1.4285715
 ;"><strong>Since</strong>&#160;</span><strong style="line-height: 
1.4285715;">Camel 2.14.0&#160;</strong><span style="line-height: 
1.4285715;">This option is used to set the CXF continuation timeout which could 
be used in CxfConsumer by default when the CXF server is using Jetty or Servlet 
transport. (Before&#160;</span><strong style="line-height: 1.4285715;">Camel 
2.14.0</strong><span style="line-height: 1.4285715;">, CxfConsumer just set the 
continuation timeout to be 0, which means the continuation suspend operation 
never timeout.)</span></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code><span style="line-height: 
1.4285715;">continuationTimeout=800000</span></code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>No</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><em style="line-height: 
1.4285715;">30000</em></p></td></tr></tbody></table></div><p>You can also 
configure the CXF REST endpoint through the spring configuration. Since there 
are l
 ots 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="https://cwiki.apache.org/CXF20DOC/JAX-RS";>CXF JAX-RS documentation</a> 
for more information.</p><h3 
id="BookComponentAppendix-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;
@@ -5003,7 +5003,7 @@ hibernate:[entityClassName][?options]
 <h3 id="BookComponentAppendix-SeeAlso.20">See Also</h3>
 <ul><li><a shape="rect" href="configuring-camel.html">Configuring 
Camel</a></li><li><a shape="rect" 
href="component.html">Component</a></li><li><a shape="rect" 
href="endpoint.html">Endpoint</a></li><li><a shape="rect" 
href="getting-started.html">Getting Started</a></li></ul>
 <ul class="alternate"><li><a shape="rect" 
href="hibernate-example.html">Hibernate Example</a></li></ul>
-<h2 id="BookComponentAppendix-HL7Component">HL7 Component</h2><p>The 
<strong>hl7</strong> component is used for working with the HL7 MLLP protocol 
and <a shape="rect" class="external-link" href="http://www.hl7.org/"; 
rel="nofollow">HL7 v2 messages</a> using the <a shape="rect" 
class="external-link" href="http://hl7api.sourceforge.net"; rel="nofollow">HAPI 
library</a>.</p><p>This component supports the following:</p><ul 
class="alternate"><li>HL7 MLLP codec for <a shape="rect" class="external-link" 
href="http://mina.apache.org/";>Mina</a></li><li>Agnostic data format using 
either plain String objects or HAPI HL7 model objects.</li><li><a shape="rect" 
href="type-converter.html">Type Converter</a> from/to HAPI and 
String</li><li>HL7 DataFormat using HAPI library</li><li>Even more ease-of-use 
as it's integrated well with the <a shape="rect" 
href="mina.html">camel-mina</a> (<strong>Camel 2.11</strong>: <a shape="rect" 
href="mina2.html">camel-mina2</a> ) component.</li></ul><p>Maven users wil
 l need to add the following dependency to their <code>pom.xml</code> for this 
component:</p><div class="code panel pdl" style="border-width: 1px;"><div 
class="codeContent panelContent pdl">
+<h2 id="BookComponentAppendix-HL7Component">HL7 Component</h2><p>The 
<strong>hl7</strong> component is used for working with the HL7 MLLP protocol 
and <a shape="rect" class="external-link" href="http://www.hl7.org/"; 
rel="nofollow">HL7 v2 messages</a> using the <a shape="rect" 
class="external-link" href="http://hl7api.sourceforge.net"; rel="nofollow">HAPI 
library</a>.</p><p>This component supports the following:</p><ul 
class="alternate"><li>HL7 MLLP codec for <a shape="rect" class="external-link" 
href="http://mina.apache.org/";>Mina</a></li><li>Agnostic data format using 
either plain String objects or HAPI HL7 model objects.</li><li><a shape="rect" 
href="type-converter.html">Type Converter</a> from/to HAPI and 
String</li><li>HL7 DataFormat using HAPI library</li><li 
class="confluence-link">Even more ease-of-use as it's integrated well with 
the&#160; <a shape="rect" href="mina2.html">camel-mina2</a> 
component.</li></ul><p>Maven users will need to add the following dependency to 
their <c
 ode>pom.xml</code> for this component:</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;org.apache.camel&lt;/groupId&gt;
     &lt;artifactId&gt;camel-hl7&lt;/artifactId&gt;
@@ -5011,9 +5011,7 @@ hibernate:[entityClassName][?options]
     &lt;!-- use the same version as your Camel core version --&gt;
 &lt;/dependency&gt;
 ]]></script>
-</div></div><h3 id="BookComponentAppendix-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 mina/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>true</code> 
(<strong>Camel 2.11</strong>:<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"><p> 
<code>validate</code> </p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p> <code>true</code> </p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p> Whether HAPI Parser should validate or not. 
</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.PipeParser</code> 
</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <strong>Camel 
2.11:</strong> To use a custom parser. Must be of type 
<code>ca.uhn.hl7v2.parser.Parser</code>. </p></td></tr></tbody></table></div>
-</div><h4 id="BookComponentAppendix-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">
+</div></div><h3 id="BookComponentAppendix-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="BookComponentAppendix-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>
@@ -5112,22 +5110,17 @@ Then you don't need to create an instanc
                     </div>
     </div>
 
-<h3 id="BookComponentAppendix-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>CamelHL7M
 essageType</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></tbody></table></div>
-</div><p>All headers are <code>String</code> types. If a header value is 
missing, its value is <code>null</code>.</p><h3 
id="BookComponentAppendix-Options.21">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. <strong>Camel 2.11:</strong> better use the 
<code>parser</code> option and initialize the parser 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> <strong>Camel 2.1
 1:</strong> To 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></tbody></table></div>
-
-</div><h3 id="BookComponentAppendix-Dependencies.2">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 s
 tructure 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">
+<h3 id="BookComponentAppendix-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="BookComponentAppendix-Options.21">Options</h3><p>The HL7 Data Format suppo
 rts 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 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" cla
 ss="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="BookComponentAppendix-Dependencies.2">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/maven
 2/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;
-    &lt;version&gt;1.2&lt;/version&gt;
+    &lt;version&gt;2.2&lt;/version&gt;
     &lt;!-- use the same version as your hapi-base version --&gt;
 &lt;/dependency&gt;
 &lt;dependency&gt;
     &lt;groupId&gt;ca.uhn.hapi&lt;/groupId&gt;
     &lt;artifactId&gt;hapi-structures-v25&lt;/artifactId&gt;
-    &lt;version&gt;1.2&lt;/version&gt;
+    &lt;version&gt;2.2&lt;/version&gt;
     &lt;!-- use the same version as your hapi-base version --&gt;
 &lt;/dependency&gt;
 ]]></script>
@@ -5135,10 +5128,10 @@ Then you don't need to create an instanc
 <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-osgi-base&lt;/artifactId&gt;
-    &lt;version&gt;1.2&lt;/version&gt;
+    &lt;version&gt;2.2&lt;/version&gt;
 &lt;/dependency&gt;
 ]]></script>
-</div></div><h3 id="BookComponentAppendix-Terserlanguage(Camel2.11)">Terser 
language (<strong>Camel 2.11</strong>)</h3><p><a shape="rect" 
class="external-link" href="http://hl7api.sourceforge.net"; 
rel="nofollow">HAPI</a> provides a <a shape="rect" class="external-link" 
href="http://hl7api.sourceforge.net/base/apidocs/ca/uhn/hl7v2/util/Terser.html"; 
rel="nofollow">Terser</a> class that provides access to fields using a commonly 
used terse location specification syntax. The Terser language allows to use 
this syntax to extract values from messages and to use them as expressions and 
predicates for filtering, content-based routing etc.</p><p>Sample:</p><div 
class="code panel pdl" style="border-width: 1px;"><div class="codeContent 
panelContent pdl">
+</div></div><h3 id="BookComponentAppendix-Terserlanguage">Terser 
language</h3><p><a shape="rect" class="external-link" 
href="http://hl7api.sourceforge.net"; rel="nofollow">HAPI</a> provides a <a 
shape="rect" class="external-link" 
href="http://hl7api.sourceforge.net/base/apidocs/ca/uhn/hl7v2/util/Terser.html"; 
rel="nofollow">Terser</a> class that provides access to fields using a commonly 
used terse location specification syntax. The Terser language allows to use 
this syntax to extract values from messages and to use them as expressions and 
predicates for filtering, content-based routing etc.</p><p>Sample:</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[import static 
org.apache.camel.component.hl7.HL7.terser;
 ...
 
@@ -5153,18 +5146,45 @@ Then you don't need to create an instanc
       .to(&quot;mock:test2&quot;);
 
 ]]></script>
-</div></div><h3 
id="BookComponentAppendix-HL7Validationpredicate(Camel2.11)">HL7 Validation 
predicate (<strong>Camel 2.11</strong>)</h3><p>Often it is preferable to parse 
a HL7v2 message and validate it against a HAPI <a shape="rect" 
class="external-link" 
href="http://hl7api.sourceforge.net/base/apidocs/ca/uhn/hl7v2/validation/ValidationContext.html";
 rel="nofollow">ValidationContext</a> in a separate step 
afterwards.</p><p>Sample:</p><div class="code panel pdl" style="border-width: 
1px;"><div class="codeContent panelContent pdl">
+</div></div><h3 id="BookComponentAppendix-HL7Validationpredicate">HL7 
Validation predicate</h3><p>Often it is preferable to parse a HL7v2 message and 
validate it against a HAPI <a shape="rect" class="external-link" 
href="http://hl7api.sourceforge.net/base/apidocs/ca/uhn/hl7v2/validation/ValidationContext.html";
 rel="nofollow">ValidationContext</a> in a separate step 
afterwards.</p><p>Sample:</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[import static 
org.apache.camel.component.hl7.HL7.messageConformsTo;
 import ca.uhn.hl7v2.validation.impl.DefaultValidation;
 ...
 
-  // Use standard or define your own validation rules
+   // Use standard or define your own validation rules
    ValidationContext defaultContext = new DefaultValidation(); 
 
    // Throws PredicateValidationException if message does not validate
    
from(&quot;direct:test1&quot;).validate(messageConformsTo(defaultContext)).to(&quot;mock:test1&quot;);
 ]]></script>
-</div></div><h3 
id="BookComponentAppendix-HL7Acknowledgementexpression(Camel2.11)">HL7 
Acknowledgement expression (<strong>Camel 2.11</strong>)</h3><p>A common task 
in HL7v2 processing is to generate an acknowledgement message as response to an 
incoming HL7v2 message, e.g. based on a validation result. The <code>ack</code> 
expression lets us accomplish this very elegantly:</p><div class="code panel 
pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div><h3 
id="BookComponentAppendix-HL7ValidationpredicateusingtheHapiContext(Camel2.14)">HL7
 Validation predicate using the HapiContext (Camel 2.14)</h3><p>The HAPI 
Context is always configured with a <a shape="rect" class="external-link" 
href="http://hl7api.sourceforge.net/base/apidocs/ca/uhn/hl7v2/validation/ValidationContext.html";
 rel="nofollow">ValidationContext</a> (or a <a shape="rect" 
class="external-link" 
href="http://hl7api.sourceforge.net/base/apidocs/ca/uhn/hl7v2/validation/builder/ValidationRuleBuilder.html";
 rel="nofollow">ValidationRuleBuilder</a>), so you can access the validation 
rules indirectly. Furthermore, when unmarshalling the HL7DataFormat forwards 
the configured&#160; HAPI context&#160; in the <code>CamelHL7Context 
</code>header, and the validation rules of this context can be easily 
reused:</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[import static 
org.apache.camel.component.hl7.HL7.messageConformsTo;
+import static org.apache.camel.component.hl7.HL7.messageConforms
+...
+
+  HapiContext hapiContext = new DefaultHapiContext();
+  hapiContext.getParserConfiguration().setValidating(false); // don&#39;t 
validate during parsing
+  
+  // customize HapiContext some more ... e.g. enforce that PID-8 in ADT_A01 
messages of version 2.4 is not empty
+  ValidationRuleBuilder builder = new ValidationRuleBuilder() {
+      @Override
+      protected void configure() {
+         forVersion(Version.V24)
+              .message(&quot;ADT&quot;, &quot;A01&quot;)
+              .terser(&quot;PID-8&quot;, not(empty()));
+         }
+      };
+  hapiContext.setValidationRuleBuilder(builder);
+
+  HL7DataFormat hl7 = new HL7DataFormat();
+  hl7.setHapiContext(hapiContext);
+
+  from(&quot;direct:test1&quot;)
+     .unmarshal(hl7)                // uses the GenericParser returned from 
the HapiContext
+     .validate(messageConforms())   // uses the validation rules returned from 
the HapiContext
+                                    // equivalent with 
.validate(messageConformsTo(hapiContext))
+     // route continues from here]]></script>
+</div></div><p>&#160;</p><h3 
id="BookComponentAppendix-HL7Acknowledgementexpression">HL7 Acknowledgement 
expression</h3><p>A common task in HL7v2 processing is to generate an 
acknowledgement message as response to an incoming HL7v2 message, e.g. based on 
a validation result. The <code>ack</code> expression lets us accomplish this 
very elegantly:</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[import static 
org.apache.camel.component.hl7.HL7.messageConformsTo;
 import static org.apache.camel.component.hl7.HL7.ack;
 import ca.uhn.hl7v2.validation.impl.DefaultValidation;

Modified: websites/production/camel/content/book-dataformat-appendix.html
==============================================================================
--- websites/production/camel/content/book-dataformat-appendix.html (original)
+++ websites/production/camel/content/book-dataformat-appendix.html Thu Sep 11 
10:19:20 2014
@@ -3042,39 +3042,16 @@ from(&quot;direct:start&quot;)
 &lt;/dependency&gt;
 ]]></script>
 </div></div><h3 id="BookDataFormatAppendix-SeeAlso">See Also</h3><ul><li><a 
shape="rect" href="data-format.html">Data Format</a></li><li><a shape="rect" 
href="crypto-digital-signatures.html">Crypto (Digital 
Signatures)</a></li><li><a shape="rect" class="external-link" 
href="http://www.bouncycastle.org/java.html"; 
rel="nofollow">http://www.bouncycastle.org/java.html</a></li></ul>
-<h2 id="BookDataFormatAppendix-SyslogDataFormat">Syslog DataFormat</h2>
-<p><strong>Available as of Camel 2.6</strong></p>
-
-<p>The <strong>syslog</strong> dataformat is used for working with <a 
shape="rect" class="external-link" href="http://www.ietf.org/rfc/rfc3164.txt"; 
rel="nofollow">RFC3164</a> messages.</p>
-
-<p>This component supports the following:</p>
-<ul class="alternate"><li>UDP consumption of syslog messages</li><li>Agnostic 
data format using either plain String objects or SyslogMessage model 
objects.</li><li><a shape="rect" href="type-converter.html">Type Converter</a> 
from/to SyslogMessage and String</li><li>Integration with the <a shape="rect" 
href="mina.html">camel-mina</a> component.</li><li>Integration with the <a 
shape="rect" href="netty.html">camel-netty</a> component.</li></ul>
-
-
-<p>Maven users will need to add the following dependency to their 
<code>pom.xml</code> for this component:</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;
+<h2 id="BookDataFormatAppendix-SyslogDataFormat">Syslog 
DataFormat</h2><p><strong>Available as of Camel 2.6</strong></p><p>The 
<strong>syslog</strong> dataformat is used for working with <a shape="rect" 
class="external-link" href="http://www.ietf.org/rfc/rfc3164.txt"; 
rel="nofollow">RFC3164</a>&#160;and RFC5424 messages.</p><p>This component 
supports the following:</p><ul class="alternate"><li>UDP consumption of syslog 
messages</li><li>Agnostic data format using either plain String objects or 
SyslogMessage model objects.</li><li><a shape="rect" 
href="type-converter.html">Type Converter</a> from/to SyslogMessage and 
String</li><li>Integration with the <a shape="rect" 
href="mina.html">camel-mina</a> component.</li><li>Integration with the <a 
shape="rect" href="netty.html">camel-netty</a> component.</li><li><strong>Camel 
2.14:</strong> Encoder and decoder for the&#160;<a shape="rect" 
href="netty.html">camel-netty</a>&#160;component.</li><li><strong>Camel 
2.14:</strong>&#160;Support for 
 RFC5424 also.</li></ul><p>Maven users will need to add the following 
dependency to their <code>pom.xml</code> for this component:</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;org.apache.camel&lt;/groupId&gt;
     &lt;artifactId&gt;camel-syslog&lt;/artifactId&gt;
     &lt;version&gt;x.x.x&lt;/version&gt;
     &lt;!-- use the same version as your Camel core version --&gt;
 &lt;/dependency&gt;
 ]]></script>
-</div></div>
-
-<h3 id="BookDataFormatAppendix-RFC3164Syslogprotocol">RFC3164 Syslog 
protocol</h3>
-<p>Syslog uses the user datagram protocol (UDP) <a shape="rect" 
class="unresolved" href="#">1</a> as its underlying transport layer mechanism.  
<br clear="none">
-The UDP port that has been assigned to syslog is 514.</p>
-
-<p>To expose a Syslog listener service we reuse the existing <a shape="rect" 
href="mina.html">camel-mina</a> component or <a shape="rect" 
href="netty.html">camel-netty</a> where we just use the 
<code>Rfc3164SyslogDataFormat</code> to marshal and unmarshal messages</p>
-
-<h4 id="BookDataFormatAppendix-ExposingaSysloglistener">Exposing a Syslog 
listener</h4>
-<p>In our Spring XML file, we configure an endpoint to listen for udp messages 
on port 10514, note that in netty we disable the defaultCodec, this <br 
clear="none">
-will allow a fallback to a NettyTypeConverter and delivers the message as an 
InputStream:</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;camelContext id=&quot;myCamel&quot; 
xmlns=&quot;http://camel.apache.org/schema/spring&quot;&gt;
+</div></div><h3 id="BookDataFormatAppendix-RFC3164Syslogprotocol">RFC3164 
Syslog protocol</h3><p>Syslog uses the user datagram protocol (UDP) <a 
shape="rect" class="unresolved" href="#">1</a> as its underlying transport 
layer mechanism. <br clear="none"> The UDP port that has been assigned to 
syslog is 514.</p><p>To expose a Syslog listener service we reuse the existing 
<a shape="rect" href="mina.html">camel-mina</a> component or <a shape="rect" 
href="netty.html">camel-netty</a> where we just use the 
<code>Rfc3164SyslogDataFormat</code> to marshal and unmarshal messages. Notice 
that from&#160;<strong>Camel 2.14</strong> onwards the syslog dataformat is 
renamed to <code>SyslogDataFormat</code>.</p><h3 
id="BookDataFormatAppendix-RFC5424Syslogprotocol">RFC5424 Syslog 
protocol</h3><p><strong>Available as of Camel 2.14</strong></p><p>To expose a 
Syslog listener service we reuse the existing&#160;<a shape="rect" 
href="mina.html">camel-mina</a>&#160;component or&#160;<a shape="rect" href="
 netty.html">camel-netty</a>&#160;where we just use 
the&#160;<code>SyslogDataFormat</code>&#160;to marshal and unmarshal 
messages</p><h4 id="BookDataFormatAppendix-ExposingaSysloglistener">Exposing a 
Syslog listener</h4><p>In our Spring XML file, we configure an endpoint to 
listen for udp messages on port 10514, note that in netty we disable the 
defaultCodec, this <br clear="none"> will allow a fallback to a 
NettyTypeConverter and delivers the message as an InputStream:</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;camelContext id=&quot;myCamel&quot; 
xmlns=&quot;http://camel.apache.org/schema/spring&quot;&gt;
 
     &lt;dataFormats&gt;
           &lt;syslog id=&quot;mySyslog&quot;/&gt;
@@ -3088,12 +3065,8 @@ will allow a fallback to a NettyTypeConv
 
 &lt;/camelContext&gt;
 ]]></script>
-</div></div>
-
-<p>The same route using <a shape="rect" href="mina.html">camel-mina</a></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;camelContext id=&quot;myCamel&quot; 
xmlns=&quot;http://camel.apache.org/schema/spring&quot;&gt;
+</div></div><p>The same route using <a shape="rect" 
href="mina.html">camel-mina</a></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;camelContext id=&quot;myCamel&quot; 
xmlns=&quot;http://camel.apache.org/schema/spring&quot;&gt;
 
     &lt;dataFormats&gt;
           &lt;syslog id=&quot;mySyslog&quot;/&gt;
@@ -3107,14 +3080,8 @@ will allow a fallback to a NettyTypeConv
 
 &lt;/camelContext&gt;
 ]]></script>
-</div></div>
-
-
-<h4 
id="BookDataFormatAppendix-Sendingsyslogmessagestoaremotedestination">Sending 
syslog messages to a remote destination</h4>
-
-<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;camelContext id=&quot;myCamel&quot; 
xmlns=&quot;http://camel.apache.org/schema/spring&quot;&gt;
+</div></div><h4 
id="BookDataFormatAppendix-Sendingsyslogmessagestoaremotedestination">Sending 
syslog messages to a remote destination</h4><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;camelContext id=&quot;myCamel&quot; 
xmlns=&quot;http://camel.apache.org/schema/spring&quot;&gt;
 
     &lt;dataFormats&gt;
         &lt;syslog id=&quot;mySyslog&quot;/&gt;
@@ -3128,9 +3095,7 @@ will allow a fallback to a NettyTypeConv
 
 &lt;/camelContext&gt;
 ]]></script>
-</div></div>
-
-<h3 id="BookDataFormatAppendix-SeeAlso.1">See Also</h3>
+</div></div><p></p><h3 id="BookDataFormatAppendix-SeeAlso.1">See Also</h3>
 <ul><li><a shape="rect" href="configuring-camel.html">Configuring 
Camel</a></li><li><a shape="rect" 
href="component.html">Component</a></li><li><a shape="rect" 
href="endpoint.html">Endpoint</a></li><li><a shape="rect" 
href="getting-started.html">Getting Started</a></li></ul></div>
         </td>
         <td valign="top">


Reply via email to