Modified: websites/production/camel/content/cxfrs.html
==============================================================================
--- websites/production/camel/content/cxfrs.html (original)
+++ websites/production/camel/content/cxfrs.html Fri Jun 19 09:20:35 2015
@@ -108,7 +108,7 @@
 </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="CXFRS-Options">Options</h3><div class="table-wrap"><table 
class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Name</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Description</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Example</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Required?</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>default value</p></th></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>resourceClasses</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>The resource classes which you 
want to export as REST service. Multiple classes can be separated by 
comma.</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>resourceClasses=org.apache.camel.rs.Example1,</code><br
 clear="none"> <code>org.apache.camel.rs.Exchange2</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>No</p></td><td colspan="1" 
rowspan="1" 
 class="confluenceTd"><p><em>None</em></p></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>resourceClass</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><strong>Deprecated</strong>: 
Use <code>resourceClasses</code> The resource class which you want to export as 
REST service.</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>resourceClass 
=org.apache.camel.rs.Example1</code></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>No</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><em>None</em></p></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>httpClientAPI</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><strong>new to Camel 
2.1</strong> If it is true, the CxfRsProducer will use the HttpClientAPI to 
invoke the 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" r
 owspan="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><code>synchronous</code></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><code>throwExceptionOnFailure</code></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 E
 xception 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><em>false</em></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="conflue
 nceTd"><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="#CXFRS-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="confluenceTd"><p>No</
 p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><em>Default</em></p></td></tr><tr><td colspan="1" 
rowspan="1" 
class="confluenceTd"><p><code><span>binding</span></code></p></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><code><span style="line-height: 
1.4285715;">providers</span></code></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><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><code><span style="line-height: 
1.4285715;">schemaLocations</span></code></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><code><span style="line-height: 
1.4285715;">features</span></code></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><code>properties</code></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>properties=#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><code>inInterceptors</code></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><code>outInterceptors</code></p></td><td colspan="1" 
rowspan="1" class="confluenc
 eTd"><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><code><span>inFaultInterceptors</span></code></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=#My
 Interceptors</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><code>outFaultIntercetpros</code></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="conflue
 nceTd"><p><code>continuationTimeout</code></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><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><code>ignoreDeleteMethodMessageBody</code></td><td 
colspan="1" rowspan="1" class="confluenceTd"><strong>Since Camel 
2.14.1</strong> This option is used to tell CxfRsProducer to ignore the message 
body of the DELETE method when using HTTP API.</td><td colspan="1" rowspan="1" 
class="confluenceTd"><code><span>ignoreDeleteMethodMessageBody=true</span></code></td><td
 colspan="1" rowspan="1" class="confluenceTd">No</td><td colspan="1" 
rowspan="1" class="confluenceTd"><em>false</em></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>modelRef</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><strong>Since Camel 
2.14.2</strong> This option is used to specify the <a shape="rect" 
href="http://cxf.apache.org/docs/jax-rs-advanced-features.html#JAX-RSAdvancedFeatures-RESTfulserviceswithoutannotations";>model
 file</a> which is useful for the resource class without 
annotation.</p><p><strong>Sin
 ce Camel 2.15</strong> This option can point to a model file without 
specifying a service class for emulating document-only endpoints</p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>modelRef=</code><a 
shape="rect" class="external-link" 
href="http://classpath/org/apache/camel/component/cxf/jaxrs/CustomerServiceModel.xml";
 style="font-family: monospace;line-height: 1.4285715;" 
rel="nofollow">classpath:/CustomerServiceModel.xml</a></p></td><td colspan="1" 
rowspan="1" class="confluenceTd">No</td><td colspan="1" rowspan="1" 
class="confluenceTd"><em>None</em></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p class="p1"><code>performInvocation</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><strong>Since Camel 2.15</strong> 
When the option is true, camel will perform the invocation of the resource 
class instance and put the response object into the exchange for further 
processing.</td><td colspan="1" rowspan="1" class="confluenceTd"><p class=
 "p1"><code>performInvocation= true</code></p></td><td colspan="1" rowspan="1" 
class="confluenceTd">No</td><td colspan="1" rowspan="1" 
class="confluenceTd"><em>false</em></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd">propagateContexts</td><td colspan="1" rowspan="1" 
class="confluenceTd"><strong>Since Camel 2.15</strong> When the option is true, 
JAXRS <a shape="rect" class="external-link" 
href="https://jax-rs-spec.java.net/nonav/2.0-rev-a/apidocs/javax/ws/rs/core/UriInfo.html";
 rel="nofollow">UriInfo</a>, <a shape="rect" class="external-link" 
href="https://jax-rs-spec.java.net/nonav/2.0-rev-a/apidocs/javax/ws/rs/core/HttpHeaders.html";
 rel="nofollow">HttpHeaders</a>, <a shape="rect" class="external-link" 
href="https://jax-rs-spec.java.net/nonav/2.0-rev-a/apidocs/javax/ws/rs/core/Request.html";
 rel="nofollow">Request</a> and <a shape="rect" class="external-link" 
href="https://jax-rs-spec.java.net/nonav/2.0-rev-a/apidocs/javax/ws/rs/core/SecurityContext.html";
 rel="nofollow"
 >SecurityContext</a> contexts will be available to custom CXFRS processors as 
 >typed Camel exchange properties. These contexts can be used to analyze the 
 >current requests using JAX-RS API.</td><td colspan="1" rowspan="1" 
 >class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" 
 >class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" 
 >class="confluenceTd">&#160;</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="CXFRS-HowtoconfiguretheRESTen
 dpointinCamel">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="CXFRS-Options">Options</h3><div class="table-wrap"><table 
class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Name</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Description</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Example</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Required?</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>default value</p></th></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>resourceClasses</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>The resource classes which you 
want to export as REST service. Multiple classes can be separated by 
comma.</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>resourceClasses=org.apache.camel.rs.Example1,</code><br
 clear="none"> <code>org.apache.camel.rs.Exchange2</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>No</p></td><td colspan="1" 
rowspan="1" 
 class="confluenceTd"><p><em>None</em></p></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>resourceClass</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><strong>Deprecated</strong>: 
Use <code>resourceClasses</code> The resource class which you want to export as 
REST service.</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>resourceClass 
=org.apache.camel.rs.Example1</code></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>No</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><em>None</em></p></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>httpClientAPI</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><strong>new to Camel 
2.1</strong> If it is true, the CxfRsProducer will use the HttpClientAPI to 
invoke the 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" r
 owspan="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><code>synchronous</code></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><code>throwExceptionOnFailure</code></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 E
 xception 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. <strong>deprecated</strong> 
use defaultBus option from Camel 2.16 onwards. 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><em>false</em></p></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><code>defaultBus</code></td><td colspan="1" 
rowspan="1" class="confluenceTd"><strong>Camel 2.16:</strong> <span>Will set 
the default bus when CXF endpoint create a bus by itself</span></td><td 
colspan="1" rowspan="1" 
class="confluenceTd"><code>defaultBus=true</code></td><td colspan="1" 
rowspan="1" class="confluenceTd">No</td><td colspan="1" rowspan="1" 
class="confluenceTd"><em>false</em></td></tr><tr><td col
 span="1" rowspan="1" class="confluenceTd"><p><code>bus</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>New in 2.9.0. A default bus 
created by CXF Bus Factory. Use <code>#</code> notation to reference a bus 
object from the registry. The referenced object must be an instance of 
<code>org.apache.cxf.Bus</code>.</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>bus=#busName</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>No</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><em>None</em></p></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>bindingStyle</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><strong>As of 2.11</strong>. 
Sets how requests and responses will be mapped to/from Camel. Two values are 
possible:</p><ul class="alternate"><li><code>SimpleConsumer</code> =&gt; see 
the <a shape="rect" 
href="#CXFRS-ConsumingaRESTRequest-SimpleBindingStyle">Consuming a REST Request 
with th
 e 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="confluenceTd"><p>No</p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><em>Default</em></p></td></tr><tr><td 
colspan="1" rowspan="1" 
class="confluenceTd"><p><code><span>binding</span></code></p></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><code><span style="line-height: 
1.4285715;">providers</span></code></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><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><code><span style="line-height: 1.
 4285715;">schemaLocations</span></code></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><code><span style="line-height: 
1.4285715;">features</span></code></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="confluenc
 eTd"><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><code>properties</code></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>properties=#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><code>inInterceptors</code></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><code>outInterceptors</code></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="c
 onfluenceTd"><p><em style="line-height: 
1.4285715;">None</em></p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code><span>inFaultInterceptors</span></code></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><code>outFaultIntercetpros</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><strong style="line-height: 
1.4285715;">Since Camel 2.12.4</stron
 g><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><code>continuationTimeout</code></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 s
 tyle="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><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><code>ignoreDeleteMethodMessageBody</code></td><td 
colspan="1" rowspan="1" class="confluenceTd"><strong>Since Camel 
2.14.1</strong> This option is used to tell CxfRsProducer to ignore the message 
body of the DELETE method when using HTTP API.</td><td colspan="1" rowspan="1" 
class="confluenceTd"><code><span>ignoreDeleteMethodMessageBody=true</span></code></td><td
 colspan="1" rowspan="1" class="con
 fluenceTd">No</td><td colspan="1" rowspan="1" 
class="confluenceTd"><em>false</em></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>modelRef</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><strong>Since Camel 2.14.2</strong> This 
option is used to specify the <a shape="rect" 
href="http://cxf.apache.org/docs/jax-rs-advanced-features.html#JAX-RSAdvancedFeatures-RESTfulserviceswithoutannotations";>model
 file</a> which is useful for the resource class without 
annotation.</p><p><strong>Since Camel 2.15</strong> This option can point to a 
model file without specifying a service class for emulating document-only 
endpoints</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>modelRef=</code><a shape="rect" 
class="external-link" 
href="http://classpath/org/apache/camel/component/cxf/jaxrs/CustomerServiceModel.xml";
 style="font-family: monospace;line-height: 1.4285715;" 
rel="nofollow">classpath:/CustomerServiceModel.xml</a></p></td><td colspan
 ="1" rowspan="1" class="confluenceTd">No</td><td colspan="1" rowspan="1" 
class="confluenceTd"><em>None</em></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p class="p1"><code>performInvocation</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><strong>Since Camel 2.15</strong> 
When the option is true, camel will perform the invocation of the resource 
class instance and put the response object into the exchange for further 
processing.</td><td colspan="1" rowspan="1" class="confluenceTd"><p 
class="p1"><code>performInvocation= true</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd">No</td><td colspan="1" rowspan="1" 
class="confluenceTd"><em>false</em></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd">propagateContexts</td><td colspan="1" rowspan="1" 
class="confluenceTd"><strong>Since Camel 2.15</strong> When the option is true, 
JAXRS <a shape="rect" class="external-link" 
href="https://jax-rs-spec.java.net/nonav/2.0-rev-a/apidocs/java
 x/ws/rs/core/UriInfo.html" rel="nofollow">UriInfo</a>, <a shape="rect" 
class="external-link" 
href="https://jax-rs-spec.java.net/nonav/2.0-rev-a/apidocs/javax/ws/rs/core/HttpHeaders.html";
 rel="nofollow">HttpHeaders</a>, <a shape="rect" class="external-link" 
href="https://jax-rs-spec.java.net/nonav/2.0-rev-a/apidocs/javax/ws/rs/core/Request.html";
 rel="nofollow">Request</a> and <a shape="rect" class="external-link" 
href="https://jax-rs-spec.java.net/nonav/2.0-rev-a/apidocs/javax/ws/rs/core/SecurityContext.html";
 rel="nofollow">SecurityContext</a> contexts will be available to custom CXFRS 
processors as typed Camel exchange properties. These contexts can be used to 
analyze the current requests using JAX-RS API.</td><td colspan="1" rowspan="1" 
class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" 
class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" 
class="confluenceTd">&#160;</td></tr></tbody></table></div><p>You can also 
configure the CXF REST endpoint through the spring con
 figuration. 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="CXFRS-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 
configura
 tion 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;


Reply via email to