Author: buildbot
Date: Thu Feb 11 09:19:54 2016
New Revision: 980115

Log:
Production update by buildbot for camel

Modified:
    websites/production/camel/content/book-component-appendix.html
    websites/production/camel/content/book-in-one-page.html
    websites/production/camel/content/cache/main.pageCache
    websites/production/camel/content/cxfrs.html

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 Feb 11 
09:19:54 2016
@@ -1016,11 +1016,11 @@ template.send("direct:alias-verify&
 ]]></script>
 </div></div><p></p><h3 id="BookComponentAppendix-SeeAlso.8">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><li><a 
shape="rect" href="crypto.html">Crypto</a> Crypto is also available as a <a 
shape="rect" href="data-format.html">Data Format</a></li></ul> <h2 
id="BookComponentAppendix-CXFComponent">CXF Component</h2><div 
class="confluence-information-macro confluence-information-macro-note"><span 
class="aui-icon aui-icon-small aui-iconfont-warning 
confluence-information-macro-icon"></span><div 
class="confluence-information-macro-body"><p>When using CXF as a consumer, the 
<a shape="rect" href="cxf-bean-component.html">CXF Bean Component</a> allows 
you to factor out how message payloads are received from their processing as a 
RESTful or SOAP web service. This has the potential of using a multitude of 
transports to cons
 ume web services. The bean component's configuration is also simpler and 
provides the fastest method to implement web services using Camel and 
CXF.</p></div></div><div class="confluence-information-macro 
confluence-information-macro-tip"><span class="aui-icon aui-icon-small 
aui-iconfont-approve confluence-information-macro-icon"></span><div 
class="confluence-information-macro-body"><p>When using CXF in streaming modes 
(see DataFormat option), then also read about <a shape="rect" 
href="stream-caching.html">Stream caching</a>.</p></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.rbtoc1455070670386 {padding: 0px;}
-div.rbtoc1455070670386 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1455070670386 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1455182285720 {padding: 0px;}
+div.rbtoc1455182285720 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1455182285720 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style></p><div class="toc-macro rbtoc1455070670386">
+/*]]>*/</style></p><div class="toc-macro rbtoc1455182285720">
 <ul class="toc-indentation"><li><a shape="rect" 
href="#BookComponentAppendix-CXFComponent">CXF Component</a>
 <ul class="toc-indentation"><li><a shape="rect" 
href="#BookComponentAppendix-URIformat">URI format</a></li><li><a shape="rect" 
href="#BookComponentAppendix-Options">Options</a>
 <ul class="toc-indentation"><li><a shape="rect" 
href="#BookComponentAppendix-Thedescriptionsofthedataformats">The descriptions 
of the dataformats</a>
@@ -1664,7 +1664,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="brush: java; gutter: false; theme: Default" 
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><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 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. <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></t
 d></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>bus</code></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>New in 2.9.0. A default bus created by CXF Bus Factory. 
Use <code>#</code> notation to reference a bus object from the registry. The 
referenced object must be an instance of 
<code>org.apache.cxf.Bus</code>.</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>bus=#busName</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>No</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><em>None</em></p></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>bindingStyle</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><strong>As of 2.11</strong>. 
Sets how requests and responses will be mapped to/from Camel. Two values are 
possible:</p><ul class="alternate"><li><code>SimpleConsumer</code> =&gt; see 
the <a shape="rect" 
href="#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="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 regi
 stry, 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 colspa
 n="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="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><t
 d 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=#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.4
 285715;">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><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 
transp
 ort. (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>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:/CustomerServic
 eModel.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.jav
 a.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 RE
 ST 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><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 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. <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></t
 d></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>bus</code></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>New in 2.9.0. A default bus created by CXF Bus Factory. 
Use <code>#</code> notation to reference a bus object from the registry. The 
referenced object must be an instance of 
<code>org.apache.cxf.Bus</code>.</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>bus=#busName</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>No</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><em>None</em></p></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>bindingStyle</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><strong>As of 2.11</strong>. 
Sets how requests and responses will be mapped to/from Camel. Two values are 
possible:</p><ul class="alternate"><li><code>SimpleConsumer</code> =&gt; see 
the <a shape="rect" 
href="#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="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 regi
 stry, 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 colspa
 n="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="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><t
 d 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=#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.4
 285715;">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><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 
transp
 ort. (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>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:/CustomerServic
 eModel.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"><code>propagateContexts</code></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://ja
 x-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><tr><td colspan="1" rowspan="1" 
class="conflu
 enceTd"><code>loggingFeatureEnabled</code></td><td colspan="1" rowspan="1" 
class="confluenceTd">This option enables CXF Logging Feature which writes 
inbound and outbound REST messages to log.</td><td colspan="1" rowspan="1" 
class="confluenceTd">&#160;</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"><code>skipFaultLogging</code></td><td colspan="1" 
rowspan="1" class="confluenceTd">This option controls whether the 
<code>PhaseInterceptorChain</code> skips logging the Fault that it 
catches.</td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</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"><code>loggingSizeLimit</code></td><td colspan="1" 
rowspan="1" class="confluenceTd">To limit the total size of number of b
 ytes the logger will output when logging feature has been enabled.</td><td 
colspan="1" rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" 
rowspan="1" class="confluenceTd">No</td><td colspan="1" rowspan="1" 
class="confluenceTd"><code>0</code></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">
 <script class="brush: xml; gutter: false; theme: Default" 
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;
@@ -1789,7 +1789,7 @@ protected RouteBuilder createRouteBuilde
     };
 }
 ]]></script>
-</div></div><p>And the corresponding resource class used to configure the 
endpoint...</p><div class="confluence-information-macro 
confluence-information-macro-information"><p class="title">Note about resource 
classes</p><span class="aui-icon aui-icon-small aui-iconfont-info 
confluence-information-macro-icon"></span><div 
class="confluence-information-macro-body"><p>By default, JAX-RS resource 
classes are <strong>only </strong>used to configure JAX-RS properties. Methods 
will <strong>not</strong> be executed during routing of messages to the 
endpoint. Instead, it is the responsibility of the route to do all 
processing.</p><p>Note that starting from Camel 2.15 it is also sufficient to 
provide an interface only as opposed to a no-op service implementation class 
for the default mode.</p><p>Starting from Camel 2.15, if a 
<strong>performInvocation</strong> option is enabled, the service 
implementation will be invoked first, the response will be set on the Camel 
exchange and the route execu
 tion will continue as usual. This can be useful for</p><p>integrating the 
existing JAX-RS implementations into Camel routes and for post-processing 
JAX-RS Responses in custom processors.</p><p>&#160;</p></div></div><div 
class="code panel pdl" style="border-width: 1px;"><div class="codeContent 
panelContent pdl">
+</div></div>And the corresponding resource class used to configure the 
endpoint...<div class="confluence-information-macro 
confluence-information-macro-information"><p class="title">Note about resource 
classes</p><span class="aui-icon aui-icon-small aui-iconfont-info 
confluence-information-macro-icon"></span><div 
class="confluence-information-macro-body"><p>By default, JAX-RS resource 
classes are <strong>only </strong>used to configure JAX-RS properties. Methods 
will <strong>not</strong> be executed during routing of messages to the 
endpoint. Instead, it is the responsibility of the route to do all 
processing.</p><p>Note that starting from Camel 2.15 it is also sufficient to 
provide an interface only as opposed to a no-op service implementation class 
for the default mode.</p><p>Starting from Camel 2.15, if a 
<strong>performInvocation</strong> option is enabled, the service 
implementation will be invoked first, the response will be set on the Camel 
exchange and the route execution wi
 ll continue as usual. This can be useful for</p><p>integrating the existing 
JAX-RS implementations into Camel routes and for post-processing JAX-RS 
Responses in custom processors.</p><p>&#160;</p></div></div><p></p><div 
class="code panel pdl" style="border-width: 1px;"><div class="codeContent 
panelContent pdl">
 <script class="brush: java; gutter: false; theme: Default" 
type="syntaxhighlighter"><![CDATA[
 @Path(&quot;/customerservice/&quot;)
 public interface CustomerServiceResource {
@@ -1842,7 +1842,7 @@ assertEquals(&quot;Get a wrong customer
 assertEquals(&quot;Get a wrong response code&quot;, 200, 
exchange.getOut().getHeader(Exchange.HTTP_RESPONSE_CODE));
 assertEquals(&quot;Get a wrong header value&quot;, &quot;value&quot;, 
exchange.getOut().getHeader(&quot;key&quot;));
 ]]></script>
-</div></div><p>The&#160;<a shape="rect" class="external-link" 
href="https://cwiki.apache.org/CXF20DOC/JAX-RS";>CXF JAXRS front end</a> also 
provides <a shape="rect" 
href="https://cwiki.apache.org/confluence/display/CXF20DOC/JAX-RS+Client+API#JAX-RSClientAPI-CXFWebClientAPI";>a
 http centric client API</a>.&#160;You can also invoke this API from 
<code>camel-cxfrs</code> producer. You need to specify the <a shape="rect" 
class="external-link" 
href="http://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/Exchange.html#HTTP_PATH";>HTTP_PATH</a>
 and the&#160;<a shape="rect" class="external-link" 
href="http://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/Exchange.html#HTTP_METHOD";>HTTP_METHOD</a>&#160;and
 let the&#160;producer use the http centric client API by using the URI option 
<strong>httpClientAPI</strong> or by setting the message header <a shape="rect" 
class="external-link" 
href="http://camel.apache.org/maven/current/camel-cxf/apidocs/org/apache/c
 
amel/component/cxf/CxfConstants.html#CAMEL_CXF_RS_USING_HTTP_API">CxfConstants.CAMEL_CXF_RS_USING_HTTP_API</a>.
 You can turn the response object to the type class specified with the message 
header&#160;<a shape="rect" class="external-link" 
href="http://camel.apache.org/maven/current/camel-cxf/apidocs/org/apache/camel/component/cxf/CxfConstants.html#CAMEL_CXF_RS_RESPONSE_CLASS";>CxfConstants.CAMEL_CXF_RS_RESPONSE_CLASS</a>.</p><div
 class="code panel pdl" style="border-width: 1px;"><div class="codeContent 
panelContent pdl">
+</div></div>The&#160;<a shape="rect" class="external-link" 
href="https://cwiki.apache.org/CXF20DOC/JAX-RS";>CXF JAXRS front end</a> also 
provides <a shape="rect" 
href="https://cwiki.apache.org/confluence/display/CXF20DOC/JAX-RS+Client+API#JAX-RSClientAPI-CXFWebClientAPI";>a
 http centric client API</a>.&#160;You can also invoke this API from 
<code>camel-cxfrs</code> producer. You need to specify the <a shape="rect" 
class="external-link" 
href="http://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/Exchange.html#HTTP_PATH";>HTTP_PATH</a>
 and the&#160;<a shape="rect" class="external-link" 
href="http://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/Exchange.html#HTTP_METHOD";>HTTP_METHOD</a>&#160;and
 let the&#160;producer use the http centric client API by using the URI option 
<strong>httpClientAPI</strong> or by setting the message header <a shape="rect" 
class="external-link" 
href="http://camel.apache.org/maven/current/camel-cxf/apidocs/org/apache/came
 
l/component/cxf/CxfConstants.html#CAMEL_CXF_RS_USING_HTTP_API">CxfConstants.CAMEL_CXF_RS_USING_HTTP_API</a>.
 You can turn the response object to the type class specified with the message 
header&#160;<a shape="rect" class="external-link" 
href="http://camel.apache.org/maven/current/camel-cxf/apidocs/org/apache/camel/component/cxf/CxfConstants.html#CAMEL_CXF_RS_RESPONSE_CLASS";>CxfConstants.CAMEL_CXF_RS_RESPONSE_CLASS</a>.<div
 class="code panel pdl" style="border-width: 1px;"><div class="codeContent 
panelContent pdl">
 <script class="brush: java; gutter: false; theme: Default" 
type="syntaxhighlighter"><![CDATA[
 Exchange exchange = template.send(&quot;direct://http&quot;, new Processor() {
     public void process(Exchange exchange) throws Exception {
@@ -1873,11 +1873,11 @@ assertEquals(&quot;Get a wrong customer
 assertEquals(&quot;Get a wrong response code&quot;, 200, 
exchange.getOut().getHeader(Exchange.HTTP_RESPONSE_CODE));
 assertEquals(&quot;Get a wrong header value&quot;, &quot;value&quot;, 
exchange.getOut().getHeader(&quot;key&quot;));
 ]]></script>
-</div></div><p>From Camel 2.1, we also support to specify the query parameters 
from cxfrs URI for the CXFRS http centric client.</p><div class="code panel 
pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div>From Camel 2.1, we also support to specify the query parameters 
from cxfrs URI for the CXFRS http centric client.<div class="code panel pdl" 
style="border-width: 1px;"><div class="codeContent panelContent pdl">
 <script class="brush: java; gutter: false; theme: Default" 
type="syntaxhighlighter"><![CDATA[
 Exchange exchange = template.send(&quot;cxfrs://http://localhost:&quot; + 
getPort2() + &quot;/&quot; + getClass().getSimpleName() + 
&quot;/testQuery?httpClientAPI=true&amp;q1=12&amp;q2=13&quot;
 ]]></script>
-</div></div><p>To support the Dynamical routing, you can override the URI's 
query parameters by using the CxfConstants.CAMEL_CXF_RS_QUERY_MAP header to set 
the parameter map for it.</p><div class="code panel pdl" style="border-width: 
1px;"><div class="codeContent panelContent pdl">
+</div></div>To support the Dynamical routing, you can override the URI's query 
parameters by using the CxfConstants.CAMEL_CXF_RS_QUERY_MAP header to set the 
parameter map for it.<div class="code panel pdl" style="border-width: 
1px;"><div class="codeContent panelContent pdl">
 <script class="brush: java; gutter: false; theme: Default" 
type="syntaxhighlighter"><![CDATA[
 Map&lt;String, String&gt; queryMap = new LinkedHashMap&lt;String, 
String&gt;();                    
 queryMap.put(&quot;q1&quot;, &quot;new&quot;);


Reply via email to