Modified: websites/production/camel/content/book-in-one-page.html
==============================================================================
--- websites/production/camel/content/book-in-one-page.html (original)
+++ websites/production/camel/content/book-in-one-page.html Fri Apr  8 13:21:52 
2016
@@ -3699,11 +3699,11 @@ The tutorial has been designed in two pa
 While not actual tutorials you might find working through the source of the 
various <a shape="rect" href="examples.html">Examples</a> useful.</li></ul>
 
 <h2 id="BookInOnePage-TutorialonSpringRemotingwithJMS">Tutorial on Spring 
Remoting with JMS</h2><p>&#160;</p><div class="confluence-information-macro 
confluence-information-macro-information"><p class="title">Thanks</p><span 
class="aui-icon aui-icon-small aui-iconfont-info 
confluence-information-macro-icon"></span><div 
class="confluence-information-macro-body"><p>This tutorial was kindly donated 
to Apache Camel by Martin Gilday.</p></div></div><h2 
id="BookInOnePage-Preface">Preface</h2><p>This tutorial aims to guide the 
reader through the stages of creating a project which uses Camel to facilitate 
the routing of messages from a JMS queue to a <a shape="rect" 
class="external-link" href="http://www.springramework.org"; 
rel="nofollow">Spring</a> service. The route works in a synchronous fashion 
returning a response to the client.</p><p><style type="text/css">/*<![CDATA[*/
-div.rbtoc1460053133795 {padding: 0px;}
-div.rbtoc1460053133795 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1460053133795 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1460121572182 {padding: 0px;}
+div.rbtoc1460121572182 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1460121572182 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style></p><div class="toc-macro rbtoc1460053133795">
+/*]]>*/</style></p><div class="toc-macro rbtoc1460121572182">
 <ul class="toc-indentation"><li><a shape="rect" 
href="#BookInOnePage-TutorialonSpringRemotingwithJMS">Tutorial on Spring 
Remoting with JMS</a></li><li><a shape="rect" 
href="#BookInOnePage-Preface">Preface</a></li><li><a shape="rect" 
href="#BookInOnePage-Prerequisites">Prerequisites</a></li><li><a shape="rect" 
href="#BookInOnePage-Distribution">Distribution</a></li><li><a shape="rect" 
href="#BookInOnePage-About">About</a></li><li><a shape="rect" 
href="#BookInOnePage-CreatetheCamelProject">Create the Camel Project</a>
 <ul class="toc-indentation"><li><a shape="rect" 
href="#BookInOnePage-UpdatethePOMwithDependencies">Update the POM with 
Dependencies</a></li></ul>
 </li><li><a shape="rect" href="#BookInOnePage-WritingtheServer">Writing the 
Server</a>
@@ -5818,11 +5818,11 @@ So we completed the last piece in the pi
 <p>This example has been removed from <strong>Camel 2.9</strong> onwards. 
Apache Axis 1.4 is a very old and unsupported framework. We encourage users to 
use <a shape="rect" href="cxf.html">CXF</a> instead of Axis.</p></div></div>
 
 <style type="text/css">/*<![CDATA[*/
-div.rbtoc1460053134389 {padding: 0px;}
-div.rbtoc1460053134389 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1460053134389 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1460121572941 {padding: 0px;}
+div.rbtoc1460121572941 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1460121572941 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style><div class="toc-macro rbtoc1460053134389">
+/*]]>*/</style><div class="toc-macro rbtoc1460121572941">
 <ul class="toc-indentation"><li><a shape="rect" 
href="#BookInOnePage-TutorialusingAxis1.4withApacheCamel">Tutorial using Axis 
1.4 with Apache Camel</a>
 <ul class="toc-indentation"><li><a shape="rect" 
href="#BookInOnePage-Prerequisites">Prerequisites</a></li><li><a shape="rect" 
href="#BookInOnePage-Distribution">Distribution</a></li><li><a shape="rect" 
href="#BookInOnePage-Introduction">Introduction</a></li><li><a shape="rect" 
href="#BookInOnePage-SettinguptheprojecttorunAxis">Setting up the project to 
run Axis</a>
 <ul class="toc-indentation"><li><a shape="rect" 
href="#BookInOnePage-Maven2">Maven 2</a></li><li><a shape="rect" 
href="#BookInOnePage-wsdl">wsdl</a></li><li><a shape="rect" 
href="#BookInOnePage-ConfiguringAxis">Configuring Axis</a></li><li><a 
shape="rect" href="#BookInOnePage-RunningtheExample">Running the 
Example</a></li></ul>
@@ -17251,11 +17251,11 @@ template.send(&quot;direct:alias-verify&
 ]]></script>
 </div></div><p></p><h3 id="BookInOnePage-SeeAlso.28">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="BookInOnePage-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 consume 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.rbtoc1460053189049 {padding: 0px;}
-div.rbtoc1460053189049 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1460053189049 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1460121623923 {padding: 0px;}
+div.rbtoc1460121623923 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1460121623923 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style></p><div class="toc-macro rbtoc1460053189049">
+/*]]>*/</style></p><div class="toc-macro rbtoc1460121623923">
 <ul class="toc-indentation"><li><a shape="rect" 
href="#BookInOnePage-CXFComponent">CXF Component</a>
 <ul class="toc-indentation"><li><a shape="rect" 
href="#BookInOnePage-URIformat">URI format</a></li><li><a shape="rect" 
href="#BookInOnePage-Options">Options</a>
 <ul class="toc-indentation"><li><a shape="rect" 
href="#BookInOnePage-Thedescriptionsofthedataformats">The descriptions of the 
dataformats</a>
@@ -24764,7 +24764,7 @@ ref:someName[?options]
 </div></div><p>Format of restletUrl:</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[protocol://hostname[:port][/resourcePattern]
 ]]></script>
-</div></div><p>Restlet promotes decoupling of protocol and application 
concerns. The reference implementation of <a shape="rect" class="external-link" 
href="http://www.noelios.com/products/restlet-engine"; rel="nofollow">Restlet 
Engine</a> supports a number of protocols. However, we have tested the HTTP 
protocol only. The default port is port 80. We do not automatically switch 
default port based on the protocol yet.</p><p>You can append query options to 
the URI in the following format, 
<code>?option=value&amp;option=value&amp;...</code></p><p>&#160;</p><div 
class="confluence-information-macro 
confluence-information-macro-information"><span class="aui-icon aui-icon-small 
aui-iconfont-info confluence-information-macro-icon"></span><div 
class="confluence-information-macro-body"><p>It seems Restlet is case sensitive 
in understanding headers. For example to use content-type, use Content-Type, 
and for location use Location and so on.</p></div></div><div 
class="confluence-information-macro 
 confluence-information-macro-warning"><span class="aui-icon aui-icon-small 
aui-iconfont-error confluence-information-macro-icon"></span><div 
class="confluence-information-macro-body"><p>We have received a report about 
drop in performance in camel-restlet in Camel 2.14.0 and 2.14.1. We have 
reported this to the Restlet team in <a shape="rect" class="external-link" 
href="https://github.com/restlet/restlet-framework-java/issues/996"; 
rel="nofollow">issue 996</a>. To remedy the issue then from Camel 2.14.2 
onwards you can set synchronous=true as option on the endpoint uris, Or set it 
on the RestletComponent as a global option so all endpoints inherit this 
option.</p></div></div><p>&#160;</p><h3 
id="BookInOnePage-Options.63">Options</h3><div class="table-wrap"><table 
class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Name</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Default Value</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p
 >Description</p></th></tr><tr><td colspan="1" rowspan="1" 
 >class="confluenceTd"><p><code>headerFilterStrategy=#</code><em>refName</em></p></td><td
 > colspan="1" rowspan="1" class="confluenceTd"><p>An instance of 
 ><code>RestletHeaderFilterStrategy</code></p></td><td colspan="1" rowspan="1" 
 >class="confluenceTd"><p>Use the <code>#</code> notation 
 >(<code>headerFilterStrategy=#</code><em>refName</em>) to reference a header 
 >filter strategy in the Camel Registry. The strategy will be plugged into the 
 >restlet binding if it is 
 ><code>HeaderFilterStrategyAware</code>.</p></td></tr><tr><td colspan="1" 
 >rowspan="1" 
 >class="confluenceTd"><p><code>restletBinding=#</code><em>refName</em></p></td><td
 > colspan="1" rowspan="1" class="confluenceTd"><p>An instance of 
 ><code>DefaultRestletBinding</code></p></td><td colspan="1" rowspan="1" 
 >class="confluenceTd"><p>The bean ID of a <code>RestletBinding</code> object 
 >in the Camel Registry.</p></td></tr><tr><td colspan="1" rowspan="1" 
 >class="confluenceTd"><p><code>re
 stletMethod</code></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>GET</code></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>On a producer endpoint, specifies the request method to 
use. On a consumer endpoint, specifies that the endpoint consumes only 
<code>restletMethod</code> requests. The string value is converted to <a 
shape="rect" class="external-link" 
href="http://www.restlet.org/documentation/1.1/api/org/restlet/data/Method.html";
 rel="nofollow">org.restlet.data.Method</a> by the 
<code>Method.valueOf(String)</code> method.</p></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>restletMethods</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><em>None</em></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><strong>Consumer only</strong> 
Specify one or more methods separated by commas (e.g. 
<code>restletMethods=post,put</code>) to be serviced by a restlet consumer 
endpoint. If both <code>restletMethod</c
 ode> and <code>restletMethods</code> options are specified, the 
<code>restletMethod</code> setting is ignored.</p></td></tr><tr><td colspan="1" 
rowspan="1" 
class="confluenceTd"><p><code>restletRealm=#</code><em>refName</em></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>The bean ID of the Realm Map in 
the Camel Registry.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>restletUriPatterns=#</code><em>refName</em></p></td><td
 colspan="1" rowspan="1" class="confluenceTd"><p><em>None</em></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><strong>Consumer only</strong> 
Specify one ore more URI templates to be serviced by a restlet consumer 
endpoint, using the <code>#</code> notation to reference a 
<code>List&lt;String&gt;</code> in the Camel Registry. If a URI pattern has 
been defined in the endpoint URI, both the URI pattern defined in the endpoint 
and the <code
 >restletUriPatterns</code> option will be honored.</p></td></tr><tr><td 
 >colspan="1" rowspan="1" 
 >class="confluenceTd"><p><code>throwExceptionOnFailure</code> (<strong>2.6 or 
 >later</strong>)</p></td><td colspan="1" rowspan="1" 
 >class="confluenceTd"><p><code>true</code></p></td><td colspan="1" rowspan="1" 
 >class="confluenceTd"><p>*Producer only * Throws exception on a producer 
 >failure.</p></td></tr><tr><td colspan="1" rowspan="1" 
 >class="confluenceTd"><p><code>connectionTimeout</code></p></td><td 
 >colspan="1" rowspan="1" class="confluenceTd"><p>300000</p></td><td 
 >colspan="1" rowspan="1" class="confluenceTd"><p><strong>Since Camel 
 >2.12.3</strong> <strong>Producer only</strong> The Client will give up 
 >connection if the connection is timeout, 0 for unlimited 
 >wait.</p></td></tr><tr><td colspan="1" rowspan="1" 
 >class="confluenceTd"><p><code>socketTimeout</code></p></td><td colspan="1" 
 >rowspan="1" class="confluenceTd"><p>300000</p></td><td colspan="1" 
 >rowspan="1" class="confluenceTd"><p><strong>S
 ince Camel 2.12.3</strong> <strong>Producer only</strong> The Client socket 
receive timeout, 0 for unlimited wait.</p></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><code>disableStreamCache</code></td><td 
colspan="1" rowspan="1" class="confluenceTd"><code>false</code></td><td 
colspan="1" rowspan="1" class="confluenceTd"><strong>Camel 2.14:</strong><span 
style="color: rgb(0,0,0);">&#160;Determines whether or not the raw input stream 
from Jetty is cached or not (Camel will read the stream into a in 
memory/overflow to file,&#160;</span><a shape="rect" class="external-link" 
href="http://camel.apache.org/stream-caching.html"; title="Stream 
caching">Stream caching</a><span style="color: rgb(0,0,0);">) cache. By default 
Camel will cache the Jetty input stream to support reading it multiple times to 
ensure it Camel can retrieve all data from the stream. However you can set this 
option to&#160;</span><code>true</code><span style="color: 
rgb(0,0,0);">&#160;when you for example 
 need to access the raw stream, such as streaming it directly to a file or 
other persistent store. DefaultRestletBinding will copy the request input 
stream into a stream cache and put it into message body if this option 
is&#160;</span><code>false</code><span style="color: rgb(0,0,0);">&#160;to 
support reading the stream multiple 
times.</span></td></tr></tbody></table></div><h3 
id="BookInOnePage-ComponentOptions.1">Component Options</h3><p>The Restlet 
component can be configured with the following options. Notice these are 
<strong>component</strong> options and cannot be configured on the endpoint, 
see further below for an example.</p><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>controllerDa
 emon</code></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>true</code></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><strong>Camel 2.10:</strong> Indicates if the 
controller thread should be a daemon (not blocking JVM 
exit).</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>controllerSleepTimeMs</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>100</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.10:</strong> 
Time for the controller thread to sleep between each 
control.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>inboundBufferSize</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>8192</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><strong>Camel 2.10:</strong> The size of 
the buffer when reading messages.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>minThreads</code></
 p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>1</code></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><strong>Camel 2.10:</strong> Minimum threads waiting to 
service requests.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>maxThreads</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>10</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><strong>Camel 2.10:</strong> Maximum 
threads that will service requests.</p></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><code><span>lowThreads</span></code></td><td 
colspan="1" rowspan="1" class="confluenceTd">8</td><td colspan="1" rowspan="1" 
class="confluenceTd"><strong>Camel 2.13: </strong>Number of worker threads 
determining when the connector is considered overloaded.</td></tr><tr><td 
colspan="1" rowspan="1" class="confluenceTd"><code>maxQueued</code></td><td 
colspan="1" rowspan="1" class="confluenceTd">0</td><td colspan="1" rowsp
 an="1" class="confluenceTd"><strong>Camel 2.13: </strong>Maximum number of 
calls that can be queued if there aren't any worker thread available to service 
them. If the value is '0', then no queue is used and calls are rejected if no 
worker thread is immediately available. If the value is '-1', then an unbounded 
queue is used and calls are never rejected.</td></tr><tr><td colspan="1" 
rowspan="1" 
class="confluenceTd"><p><code>maxConnectionsPerHost</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>-1</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.10:</strong> 
Maximum number of concurrent connections per host (IP 
address).</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>maxTotalConnections</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>-1</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.10:</strong> 
Maximum number of concurrent connections in 
 total.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>outboundBufferSize</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>8192</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><strong>Camel 2.10:</strong> The size of 
the buffer when writing messages.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>persistingConnections</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>true</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.10:</strong> 
Indicates if connections should be kept alive after a 
call.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>pipeliningConnections</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.10:</strong> 
Indicates if pipelining connections are supported.</p></td></tr><tr><td c
 olspan="1" rowspan="1" 
class="confluenceTd"><p><code>threadMaxIdleTimeMs</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>60000</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.10:</strong> 
Time for an idle thread to wait for an operation before being 
collected.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>useForwardedForHeader</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.10:</strong> 
Lookup the "X-Forwarded-For" header supported by popular proxies and caches and 
uses it to populate the Request.getClientAddresses() method result. This 
information is only safe for intermediary components within your local network. 
Other addresses could easily be changed by setting a fake header and should not 
be trusted for serious security checks.</p></td></tr><tr><td colspan="1" 
rowspan="1" class=
 "confluenceTd"><p><code>reuseAddress</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>true</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><strong>Camel 2.10.5/2.11.1:</strong> 
Enable/disable the SO_REUSEADDR socket option. See 
java.io.ServerSocket#reuseAddress property for additional 
details.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><code>disableStreamCache</code></td><td colspan="1" 
rowspan="1" class="confluenceTd"><code>false</code></td><td colspan="1" 
rowspan="1" class="confluenceTd"><strong>Camel 2.14:</strong><span 
style="color: rgb(0,0,0);">&#160;Determines whether or not the raw input stream 
from Jetty is cached or not (Camel will read the stream into a in 
memory/overflow to file,&#160;</span><a shape="rect" class="external-link" 
href="http://camel.apache.org/stream-caching.html"; title="Stream 
caching">Stream caching</a><span style="color: rgb(0,0,0);">) cache. By default 
Camel will cache the Jetty input str
 eam to support reading it multiple times to ensure it Camel can retrieve all 
data from the stream. However you can set this option 
to&#160;</span><code>true</code><span style="color: rgb(0,0,0);">&#160;when you 
for example need to access the raw stream, such as streaming it directly to a 
file or other persistent store. DefaultRestletBinding will copy the request 
input stream into a stream cache and put it into message body if this option 
is&#160;</span><code>false</code><span style="color: rgb(0,0,0);">&#160;to 
support reading the stream multiple 
times.</span></td></tr></tbody></table></div><h3 
id="BookInOnePage-MessageHeaders.15">Message Headers</h3><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>Type</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" rowspan="1"
  class="confluenceTd"><p><code>Content-Type</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>Specifies the content type, which can be 
set on the OUT message by the application/processor. The value is the 
<code>content-type</code> of the response message. If this header is not set, 
the content type is based on the object type of the OUT message body. In Camel 
2.3 onward, if the Content-Type header is specified in the Camel IN message, 
the value of the header determine the content type for the Restlet request 
message.&#160;&#160; Otherwise, it is defaulted to 
"application/x-www-form-urlencoded'. Prior to release 2.3, it is not possible 
to change the request content type default.</p></td></tr><tr><td colspan="1" 
rowspan="1" 
class="confluenceTd"><p><code>CamelAcceptContentType</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td 
colspan="1" rows
 pan="1" class="confluenceTd"><p><strong>Since Camel 2.9.3, 2.10.0:</strong> 
The HTTP Accept request header.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>CamelHttpMethod</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>The HTTP request method. This is set in the 
IN message header.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>CamelHttpQuery</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>The query string of the request URI. It is 
set on the IN message by <code>DefaultRestletBinding</code> when the restlet 
component receives a request.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>CamelHttpResponseCode</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code> or 
<code>Integer<
 /code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The 
response code can be set on the OUT message by the application/processor. The 
value is the response code of the response message. If this header is not set, 
the response code is set by the restlet runtime engine.</p></td></tr><tr><td 
colspan="1" rowspan="1" 
class="confluenceTd"><p><code>CamelHttpUri</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>The HTTP request URI. This is set in the IN 
message header.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>CamelRestletLogin</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>Login name for basic authentication. It is 
set on the IN message by the application and gets filtered before the restlet 
request header by Camel.</p></td></tr><tr><td colspan="1"
  rowspan="1" 
class="confluenceTd"><p><code>CamelRestletPassword</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>Password name for basic 
authentication. It is set on the IN message by the application and gets 
filtered before the restlet request header by Camel.</p></td></tr><tr><td 
colspan="1" rowspan="1" 
class="confluenceTd"><p><code>CamelRestletRequest</code></p></td><td 
colspan="1" rowspan="1" 
class="confluenceTd"><p><code>Request</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><strong>Camel 2.8:</strong> The 
<code>org.restlet.Request</code> object which holds all request 
details.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>CamelRestletResponse</code></p></td><td 
colspan="1" rowspan="1" 
class="confluenceTd"><p><code>Response</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><strong>Camel 2.8:</strong> The <code>org.re
 stlet.Response</code> object. You can use this to create responses using the 
API from Restlet. See examples below.</p></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>org.restlet.*</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>&#160;</p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>Attributes of a Restlet message that get 
propagated to Camel IN headers.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>cache-control</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>String</code> or 
<code>List&lt;CacheDirective&gt;</code></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><strong>Camel 2.11:</strong> User can set the 
cache-control with the String value or the List of CacheDirective of Restlet 
from the camel message header.</p></td></tr></tbody></table></div></div><h3 
id="BookInOnePage-MessageBody.4">Message Body</h3><p>Camel will store the 
restlet response from the external
  server on the OUT body. All headers from the IN message will be copied to the 
OUT message, so that headers are preserved during routing.</p><h3 
id="BookInOnePage-Samples.19">Samples</h3><h4 
id="BookInOnePage-RestletEndpointwithAuthentication">Restlet Endpoint with 
Authentication</h4><p>The following route starts a <code>restlet</code> 
consumer endpoint that listens for <code>POST</code> requests on <a 
shape="rect" class="external-link" href="http://localhost:8080"; 
rel="nofollow">http://localhost:8080</a>. The processor creates a response that 
echoes the request body and the value of the <code>id</code> header.</p><div 
class="code panel pdl" style="border-width: 1px;"><div class="codeContent 
panelContent pdl">
+</div></div><p>Restlet promotes decoupling of protocol and application 
concerns. The reference implementation of <a shape="rect" class="external-link" 
href="http://www.noelios.com/products/restlet-engine"; rel="nofollow">Restlet 
Engine</a> supports a number of protocols. However, we have tested the HTTP 
protocol only. The default port is port 80. We do not automatically switch 
default port based on the protocol yet.</p><p>You can append query options to 
the URI in the following format, 
<code>?option=value&amp;option=value&amp;...</code></p><p>&#160;</p><div 
class="confluence-information-macro 
confluence-information-macro-information"><span class="aui-icon aui-icon-small 
aui-iconfont-info confluence-information-macro-icon"></span><div 
class="confluence-information-macro-body"><p>It seems Restlet is case sensitive 
in understanding headers. For example to use content-type, use Content-Type, 
and for location use Location and so on.</p></div></div><div 
class="confluence-information-macro 
 confluence-information-macro-warning"><span class="aui-icon aui-icon-small 
aui-iconfont-error confluence-information-macro-icon"></span><div 
class="confluence-information-macro-body"><p>We have received a report about 
drop in performance in camel-restlet in Camel 2.14.0 and 2.14.1. We have 
reported this to the Restlet team in <a shape="rect" class="external-link" 
href="https://github.com/restlet/restlet-framework-java/issues/996"; 
rel="nofollow">issue 996</a>. To remedy the issue then from Camel 2.14.2 
onwards you can set synchronous=true as option on the endpoint uris, Or set it 
on the RestletComponent as a global option so all endpoints inherit this 
option.</p></div></div><p>&#160;</p><h3 
id="BookInOnePage-Options.63">Options</h3><div class="table-wrap"><table 
class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Name</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Default Value</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p
 >Description</p></th></tr><tr><td colspan="1" rowspan="1" 
 >class="confluenceTd"><p><code>headerFilterStrategy=#</code><em>refName</em></p></td><td
 > colspan="1" rowspan="1" class="confluenceTd"><p>An instance of 
 ><code>RestletHeaderFilterStrategy</code></p></td><td colspan="1" rowspan="1" 
 >class="confluenceTd"><p>Use the <code>#</code> notation 
 >(<code>headerFilterStrategy=#</code><em>refName</em>) to reference a header 
 >filter strategy in the Camel Registry. The strategy will be plugged into the 
 >restlet binding if it is 
 ><code>HeaderFilterStrategyAware</code>.</p></td></tr><tr><td colspan="1" 
 >rowspan="1" 
 >class="confluenceTd"><p><code>restletBinding=#</code><em>refName</em></p></td><td
 > colspan="1" rowspan="1" class="confluenceTd"><p>An instance of 
 ><code>DefaultRestletBinding</code></p></td><td colspan="1" rowspan="1" 
 >class="confluenceTd"><p>The bean ID of a <code>RestletBinding</code> object 
 >in the Camel Registry.</p></td></tr><tr><td colspan="1" rowspan="1" 
 >class="confluenceTd"><p><code>re
 stletMethod</code></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>GET</code></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>On a producer endpoint, specifies the request method to 
use. On a consumer endpoint, specifies that the endpoint consumes only 
<code>restletMethod</code> requests. The string value is converted to <a 
shape="rect" class="external-link" 
href="http://www.restlet.org/documentation/1.1/api/org/restlet/data/Method.html";
 rel="nofollow">org.restlet.data.Method</a> by the 
<code>Method.valueOf(String)</code> method.</p></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>restletMethods</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><em>None</em></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><strong>Consumer only</strong> 
Specify one or more methods separated by commas (e.g. 
<code>restletMethods=post,put</code>) to be serviced by a restlet consumer 
endpoint. If both <code>restletMethod</c
 ode> and <code>restletMethods</code> options are specified, the 
<code>restletMethod</code> setting is ignored.</p></td></tr><tr><td colspan="1" 
rowspan="1" 
class="confluenceTd"><p><code>restletRealm=#</code><em>refName</em></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>The bean ID of the Realm Map in 
the Camel Registry.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>restletUriPatterns=#</code><em>refName</em></p></td><td
 colspan="1" rowspan="1" class="confluenceTd"><p><em>None</em></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><strong>Consumer only</strong> 
Specify one ore more URI templates to be serviced by a restlet consumer 
endpoint, using the <code>#</code> notation to reference a 
<code>List&lt;String&gt;</code> in the Camel Registry. If a URI pattern has 
been defined in the endpoint URI, both the URI pattern defined in the endpoint 
and the <code
 >restletUriPatterns</code> option will be honored.</p></td></tr><tr><td 
 >colspan="1" rowspan="1" 
 >class="confluenceTd"><p><code>throwExceptionOnFailure</code> (<strong>2.6 or 
 >later</strong>)</p></td><td colspan="1" rowspan="1" 
 >class="confluenceTd"><p><code>true</code></p></td><td colspan="1" rowspan="1" 
 >class="confluenceTd"><p>*Producer only * Throws exception on a producer 
 >failure.</p></td></tr><tr><td colspan="1" rowspan="1" 
 >class="confluenceTd"><p><code>connectionTimeout</code></p></td><td 
 >colspan="1" rowspan="1" class="confluenceTd"><p>300000</p></td><td 
 >colspan="1" rowspan="1" class="confluenceTd"><p><strong>Since Camel 
 >2.12.3</strong> <strong>Producer only</strong> The Client will give up 
 >connection if the connection is timeout, 0 for unlimited 
 >wait.</p></td></tr><tr><td colspan="1" rowspan="1" 
 >class="confluenceTd"><p><code>socketTimeout</code></p></td><td colspan="1" 
 >rowspan="1" class="confluenceTd"><p>300000</p></td><td colspan="1" 
 >rowspan="1" class="confluenceTd"><p><strong>S
 ince Camel 2.12.3</strong> <strong>Producer only</strong> The Client socket 
receive timeout, 0 for unlimited wait.</p></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><code>disableStreamCache</code></td><td 
colspan="1" rowspan="1" class="confluenceTd"><code>false</code></td><td 
colspan="1" rowspan="1" class="confluenceTd"><strong>Camel 2.14:</strong><span 
style="color: rgb(0,0,0);">&#160;Determines whether or not the raw input stream 
from Jetty is cached or not (Camel will read the stream into a in 
memory/overflow to file,&#160;</span><a shape="rect" class="external-link" 
href="http://camel.apache.org/stream-caching.html"; title="Stream 
caching">Stream caching</a><span style="color: rgb(0,0,0);">) cache. By default 
Camel will cache the Jetty input stream to support reading it multiple times to 
ensure it Camel can retrieve all data from the stream. However you can set this 
option to&#160;</span><code>true</code><span style="color: 
rgb(0,0,0);">&#160;when you for example 
 need to access the raw stream, such as streaming it directly to a file or 
other persistent store. DefaultRestletBinding will copy the request input 
stream into a stream cache and put it into message body if this option 
is&#160;</span><code>false</code><span style="color: rgb(0,0,0);">&#160;to 
support reading the stream multiple 
times.</span></td></tr></tbody></table></div><h3 
id="BookInOnePage-ComponentOptions.1">Component Options</h3><p>The Restlet 
component can be configured with the following options. Notice these are 
<strong>component</strong> options and cannot be configured on the endpoint, 
see further below for an example.</p><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>controllerDa
 emon</code></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>true</code></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><strong>Camel 2.10:</strong> Indicates if the 
controller thread should be a daemon (not blocking JVM 
exit).</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>controllerSleepTimeMs</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>100</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.10:</strong> 
Time for the controller thread to sleep between each 
control.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>inboundBufferSize</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>8192</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><strong>Camel 2.10:</strong> The size of 
the buffer when reading messages.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>minThreads</code></
 p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>1</code></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><strong>Camel 2.10:</strong> Minimum threads waiting to 
service requests.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>maxThreads</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>10</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><strong>Camel 2.10:</strong> Maximum 
threads that will service requests.</p></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><code><span>lowThreads</span></code></td><td 
colspan="1" rowspan="1" class="confluenceTd">8</td><td colspan="1" rowspan="1" 
class="confluenceTd"><strong>Camel 2.13: </strong>Number of worker threads 
determining when the connector is considered overloaded.</td></tr><tr><td 
colspan="1" rowspan="1" class="confluenceTd"><code>maxQueued</code></td><td 
colspan="1" rowspan="1" class="confluenceTd">0</td><td colspan="1" rowsp
 an="1" class="confluenceTd"><strong>Camel 2.13: </strong>Maximum number of 
calls that can be queued if there aren't any worker thread available to service 
them. If the value is '0', then no queue is used and calls are rejected if no 
worker thread is immediately available. If the value is '-1', then an unbounded 
queue is used and calls are never rejected.</td></tr><tr><td colspan="1" 
rowspan="1" 
class="confluenceTd"><p><code>maxConnectionsPerHost</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>-1</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.10:</strong> 
Maximum number of concurrent connections per host (IP 
address).</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>maxTotalConnections</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>-1</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.10:</strong> 
Maximum number of concurrent connections in 
 total.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>outboundBufferSize</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>8192</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><strong>Camel 2.10:</strong> The size of 
the buffer when writing messages.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>persistingConnections</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>true</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.10:</strong> 
Indicates if connections should be kept alive after a 
call.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>pipeliningConnections</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.10:</strong> 
Indicates if pipelining connections are supported.</p></td></tr><tr><td c
 olspan="1" rowspan="1" 
class="confluenceTd"><p><code>threadMaxIdleTimeMs</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>60000</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.10:</strong> 
Time for an idle thread to wait for an operation before being 
collected.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>useForwardedForHeader</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.10:</strong> 
Lookup the "X-Forwarded-For" header supported by popular proxies and caches and 
uses it to populate the Request.getClientAddresses() method result. This 
information is only safe for intermediary components within your local network. 
Other addresses could easily be changed by setting a fake header and should not 
be trusted for serious security checks.</p></td></tr><tr><td colspan="1" 
rowspan="1" class=
 "confluenceTd"><p><code>reuseAddress</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>true</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><strong>Camel 2.10.5/2.11.1:</strong> 
Enable/disable the SO_REUSEADDR socket option. See 
java.io.ServerSocket#reuseAddress property for additional 
details.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><code>disableStreamCache</code></td><td colspan="1" 
rowspan="1" class="confluenceTd"><code>false</code></td><td colspan="1" 
rowspan="1" class="confluenceTd"><strong>Camel 2.14:</strong><span 
style="color: rgb(0,0,0);">&#160;Determines whether or not the raw input stream 
from Jetty is cached or not (Camel will read the stream into a in 
memory/overflow to file,&#160;</span><a shape="rect" class="external-link" 
href="http://camel.apache.org/stream-caching.html"; title="Stream 
caching">Stream caching</a><span style="color: rgb(0,0,0);">) cache. By default 
Camel will cache the Jetty input str
 eam to support reading it multiple times to ensure it Camel can retrieve all 
data from the stream. However you can set this option 
to&#160;</span><code>true</code><span style="color: rgb(0,0,0);">&#160;when you 
for example need to access the raw stream, such as streaming it directly to a 
file or other persistent store. DefaultRestletBinding will copy the request 
input stream into a stream cache and put it into message body if this option 
is&#160;</span><code>false</code><span style="color: rgb(0,0,0);">&#160;to 
support reading the stream multiple times.</span></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd">enabledConverters</td><td colspan="1" 
rowspan="1" class="confluenceTd">null</td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><strong>Camel 2.18:</strong><span> By default, Restlet 
engine loads all the extension it finds at run-time and this option filter out 
all the converters except those explicit listed using full qualified class name 
or simple class name. 
 </span>i.e. by setting <span style="line-height: 
1.42857;">enabledConverters=JacksonConverter, GsonConverter the 
RestletComponent will remove all the converters loaded by the <span>Restlet 
engine except Jackson and Gson. Note that you still need to add the extensions 
as dependency.</span></span></p></td></tr></tbody></table></div><h3 
id="BookInOnePage-MessageHeaders.15">Message Headers</h3><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>Type</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>Content-Type</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>Specifies the content type, 
which can be set on the OUT message by the appl
 ication/processor. The value is the <code>content-type</code> of the response 
message. If this header is not set, the content type is based on the object 
type of the OUT message body. In Camel 2.3 onward, if the Content-Type header 
is specified in the Camel IN message, the value of the header determine the 
content type for the Restlet request message.&#160;&#160; Otherwise, it is 
defaulted to "application/x-www-form-urlencoded'. Prior to release 2.3, it is 
not possible to change the request content type default.</p></td></tr><tr><td 
colspan="1" rowspan="1" 
class="confluenceTd"><p><code>CamelAcceptContentType</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><strong>Since Camel 2.9.3, 
2.10.0:</strong> The HTTP Accept request header.</p></td></tr><tr><td 
colspan="1" rowspan="1" 
class="confluenceTd"><p><code>CamelHttpMethod</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>
 <code>String</code></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>The HTTP request method. This is set in the IN message 
header.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>CamelHttpQuery</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>The query string of the request URI. It is 
set on the IN message by <code>DefaultRestletBinding</code> when the restlet 
component receives a request.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>CamelHttpResponseCode</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code> or 
<code>Integer</code></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>The response code can be set on the OUT message by the 
application/processor. The value is the response code of the response message. 
If this header is not set, the response code is set by the restle
 t runtime engine.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>CamelHttpUri</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>The HTTP request URI. This is set in the IN 
message header.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>CamelRestletLogin</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>Login name for basic authentication. It is 
set on the IN message by the application and gets filtered before the restlet 
request header by Camel.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>CamelRestletPassword</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>Password name for basic 
authentication. It is set on th
 e IN message by the application and gets filtered before the restlet request 
header by Camel.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>CamelRestletRequest</code></p></td><td 
colspan="1" rowspan="1" 
class="confluenceTd"><p><code>Request</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><strong>Camel 2.8:</strong> The 
<code>org.restlet.Request</code> object which holds all request 
details.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>CamelRestletResponse</code></p></td><td 
colspan="1" rowspan="1" 
class="confluenceTd"><p><code>Response</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><strong>Camel 2.8:</strong> The 
<code>org.restlet.Response</code> object. You can use this to create responses 
using the API from Restlet. See examples below.</p></td></tr><tr><td 
colspan="1" rowspan="1" 
class="confluenceTd"><p><code>org.restlet.*</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd
 "><p>&#160;</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Attributes of a Restlet message that get propagated to 
Camel IN headers.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>cache-control</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>String</code> or 
<code>List&lt;CacheDirective&gt;</code></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><strong>Camel 2.11:</strong> User can set the 
cache-control with the String value or the List of CacheDirective of Restlet 
from the camel message header.</p></td></tr></tbody></table></div></div><h3 
id="BookInOnePage-MessageBody.4">Message Body</h3><p>Camel will store the 
restlet response from the external server on the OUT body. All headers from the 
IN message will be copied to the OUT message, so that headers are preserved 
during routing.</p><h3 id="BookInOnePage-Samples.19">Samples</h3><h4 
id="BookInOnePage-RestletEndpointwithAuthentication">Restlet Endpoint with 
 Authentication</h4><p>The following route starts a <code>restlet</code> 
consumer endpoint that listens for <code>POST</code> requests on <a 
shape="rect" class="external-link" href="http://localhost:8080"; 
rel="nofollow">http://localhost:8080</a>. The processor creates a response that 
echoes the request body and the value of the <code>id</code> header.</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[
 from(&quot;restlet:http://localhost:&quot; + port + 
&quot;/securedOrders?restletMethod=post&amp;restletRealm=#realm&quot;).process(new
 Processor() {
     public void process(Exchange exchange) throws Exception {
@@ -24775,21 +24775,21 @@ from(&quot;restlet:http://localhost:&quo
     }
 });
 ]]></script>
-</div></div><p>The <code>restletRealm</code> setting in the URI query is used 
to look up a Realm Map in the registry. If this option is specified, the 
restlet consumer uses the information to authenticate user logins. Only 
<em>authenticated</em> requests can access the resources. In this sample, we 
create a Spring application context that serves as a registry. The bean ID of 
the Realm Map should match the <em>restletRealmRef</em>.</p><div class="code 
panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div>The <code>restletRealm</code> setting in the URI query is used to 
look up a Realm Map in the registry. If this option is specified, the restlet 
consumer uses the information to authenticate user logins. Only 
<em>authenticated</em> requests can access the resources. In this sample, we 
create a Spring application context that serves as a registry. The bean ID of 
the Realm Map should match the <em>restletRealmRef</em>.<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;util:map id=&quot;realm&quot;&gt;
        &lt;entry key=&quot;admin&quot; value=&quot;foo&quot; /&gt;
        &lt;entry key=&quot;bar&quot; value=&quot;foo&quot; /&gt;
 &lt;/util:map&gt;
 ]]></script>
-</div></div><p>The following sample starts a <code>direct</code> endpoint that 
sends requests to the server on <a shape="rect" class="external-link" 
href="http://localhost:8080"; rel="nofollow">http://localhost:8080</a> (that is, 
our restlet consumer endpoint).</p><div class="code panel pdl" 
style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div>The following sample starts a <code>direct</code> endpoint that 
sends requests to the server on <a shape="rect" class="external-link" 
href="http://localhost:8080"; rel="nofollow">http://localhost:8080</a> (that is, 
our restlet consumer endpoint).<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[
 // Note: restletMethod and restletRealmRef are stripped 
 // from the query before a request is sent as they are 
 // only processed by Camel.
 from(&quot;direct:start-auth&quot;).to(&quot;restlet:http://localhost:&quot; + 
port + &quot;/securedOrders?restletMethod=post&quot;);
 ]]></script>
-</div></div><p>That is all we need. We are ready to send a request and try out 
the restlet component:</p><div class="code panel pdl" style="border-width: 
1px;"><div class="codeContent panelContent pdl">
+</div></div>That is all we need. We are ready to send a request and try out 
the restlet component:<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[
 final String id = &quot;89531&quot;;
 
@@ -24801,7 +24801,7 @@ headers.put(&quot;id&quot;, id);
 String response = template.requestBodyAndHeaders(
     &quot;direct:start-auth&quot;, &quot;&lt;order foo=&#39;1&#39;/&gt;&quot;, 
headers, String.class);
 ]]></script>
-</div></div><p>The sample client sends a request to the 
<code>direct:start-auth</code> endpoint with the following 
headers:</p><ul><li><code>CamelRestletLogin</code> (used internally by 
Camel)</li><li><code>CamelRestletPassword</code> (used internally by 
Camel)</li><li><code>id</code> (application header)</li></ul><div 
class="confluence-information-macro 
confluence-information-macro-information"><p class="title">Note</p><span 
class="aui-icon aui-icon-small aui-iconfont-info 
confluence-information-macro-icon"></span><div 
class="confluence-information-macro-body"><p><code>org.apache.camel.restlet.auth.login</code>
 and <code>org.apache.camel.restlet.auth.password</code> will not be propagated 
as Restlet header.</p></div></div><p>The sample client gets a response like the 
following:</p><div class="code panel pdl" style="border-width: 1px;"><div 
class="codeContent panelContent pdl">
+</div></div>The sample client sends a request to the 
<code>direct:start-auth</code> endpoint with the following 
headers:<ul><li><code>CamelRestletLogin</code> (used internally by 
Camel)</li><li><code>CamelRestletPassword</code> (used internally by 
Camel)</li><li><code>id</code> (application header)</li></ul><div 
class="confluence-information-macro 
confluence-information-macro-information"><p class="title">Note</p><span 
class="aui-icon aui-icon-small aui-iconfont-info 
confluence-information-macro-icon"></span><div 
class="confluence-information-macro-body"><p><code>org.apache.camel.restlet.auth.login</code>
 and <code>org.apache.camel.restlet.auth.password</code> will not be propagated 
as Restlet header.</p></div></div><p>The sample client gets a response like the 
following:</p><div class="code panel pdl" style="border-width: 1px;"><div 
class="codeContent panelContent pdl">
 <script class="brush: text; gutter: false; theme: Default" 
type="syntaxhighlighter"><![CDATA[received [&lt;order foo=&#39;1&#39;/&gt;] as 
an order id = 89531
 ]]></script>
 </div></div><h4 
id="BookInOnePage-SinglerestletendpointtoservicemultiplemethodsandURItemplates">Single
 restlet endpoint to service multiple methods and URI templates</h4><p>It is 
possible to create a single route to service multiple HTTP methods using the 
<code>restletMethods</code> option. This snippet also shows how to retrieve the 
request method from the header:</p><div class="code panel pdl" 
style="border-width: 1px;"><div class="codeContent panelContent pdl">
@@ -24814,7 +24814,7 @@ from(&quot;restlet:http://localhost:&quo
         }
     });
 ]]></script>
-</div></div><p>In addition to servicing multiple methods, the next snippet 
shows how to create an endpoint that supports multiple URI templates using the 
<code>restletUriPatterns</code> option. The request URI is available in the 
header of the IN message as well. If a URI pattern has been defined in the 
endpoint URI (which is not the case in this sample), both the URI pattern 
defined in the endpoint and the <code>restletUriPatterns</code> option will be 
honored.</p><div class="code panel pdl" style="border-width: 1px;"><div 
class="codeContent panelContent pdl">
+</div></div>In addition to servicing multiple methods, the next snippet shows 
how to create an endpoint that supports multiple URI templates using the 
<code>restletUriPatterns</code> option. The request URI is available in the 
header of the IN message as well. If a URI pattern has been defined in the 
endpoint URI (which is not the case in this sample), both the URI pattern 
defined in the endpoint and the <code>restletUriPatterns</code> option will be 
honored.<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[
 from(&quot;restlet:http://localhost:&quot; + portNum + 
&quot;?restletMethods=post,get&amp;restletUriPatterns=#uriTemplates&quot;)
     .process(new Processor() {
@@ -24831,7 +24831,7 @@ from(&quot;restlet:http://localhost:&quo
         }
     });
 ]]></script>
-</div></div><p>The <code>restletUriPatterns=#uriTemplates</code> option 
references the <code>List&lt;String&gt;</code> bean defined in the Spring XML 
configuration.</p><div class="code panel pdl" style="border-width: 1px;"><div 
class="codeContent panelContent pdl">
+</div></div>The <code>restletUriPatterns=#uriTemplates</code> option 
references the <code>List&lt;String&gt;</code> bean defined in the Spring XML 
configuration.<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;util:list id=&quot;uriTemplates&quot;&gt;
     &lt;value&gt;/users/{username}&lt;/value&gt;
     &lt;value&gt;/atom/collection/{id}/component/{cid}&lt;/value&gt;

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


Reply via email to