Author: buildbot
Date: Fri Jun  9 19:19:39 2017
New Revision: 1013708

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/http.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 Fri Jun  9 
19:19:39 2017
@@ -1011,11 +1011,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.rbtoc1496960306643 {padding: 0px;}
-div.rbtoc1496960306643 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1496960306643 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1497035863426 {padding: 0px;}
+div.rbtoc1497035863426 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1497035863426 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style></p><div class="toc-macro rbtoc1496960306643">
+/*]]>*/</style></p><div class="toc-macro rbtoc1497035863426">
 <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>
@@ -4293,16 +4293,16 @@ from(&quot;direct:start&quot;)
 &lt;to uri=&quot;http://www.google.com&quot;/&gt;
 &lt;to uri=&quot;mock:results&quot;/&gt;
 ]]></script>
-</div></div></td></tr></tbody></table></div><h3 
id="BookComponentAppendix-HttpEndpointOptions"><code>HttpEndpoint</code> 
Options</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>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>throwExceptionOnFailure</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>true</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>Option to disable throwing the 
<strong><code>HttpOperationFailedException</code></strong> in case of failed 
responses from the remote server. This allows you to get all responses 
regardless of the HTTP status code.</p></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>bridgeEndpoint</code></p></
 td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>false</code></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>If the option 
is&#160;<strong><code>true</code></strong>,&#160;<strong><code>HttpProducer</code></strong>
 will ignore the&#160;<strong><code>Exchange.HTTP_URI</code></strong> header, 
and use the endpoint's URI for request. You may also set 
<strong><code>throwExceptionOnFailure=false</code></strong> to let 
the&#160;<strong><code>HttpProducer</code></strong> send all the fault response 
back.</p><p>From<strong> Camel 2.3:</strong> If the option is 
<strong><code>true</code></strong>,&#160;<strong><code>HttpProducer</code></strong>
 and&#160;<strong><code>CamelServlet</code></strong> will skip the gzip 
processing when 
<strong><code>content-encoding=gzip</code></strong>.</p></td></tr><tr><td 
colspan="1" rowspan="1" 
class="confluenceTd"><p><code>disableStreamCache</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>false</code></p></td><t
 d colspan="1" rowspan="1" 
class="confluenceTd"><p><strong><code>DefaultHttpBinding</code></strong> will 
copy the request input stream into a stream cache and put it into message body 
if this option is false to support read it twice, 
otherwise&#160;<strong><code>DefaultHttpBinding</code></strong> will set the 
request input stream direct into the message body.</p><p>From<strong> Camel 
2.17:</strong> this options is now also support by the producer to allow using 
the response stream directly instead of stream caching as by 
default.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><span style="color: 
rgb(255,0,0);"><s><code>httpBindingRef</code></s></span></p></td><td 
colspan="1" rowspan="1" 
class="confluenceTd"><p><s><code>null</code></s></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><span style="color: 
rgb(255,0,0);"><s><strong>Deprecated and removed in Camel 2.17:</strong> 
Reference to a <code>org.apache.camel.component.http.HttpBinding</code> in the
  <a shape="rect" href="registry.html"><span style="color: 
rgb(255,0,0);">Registry</span></a>. Use the <code>httpBinding</code> option 
instead.</s></span></p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>httpBinding</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>From<strong> Camel 2.3:</strong> reference 
to a <strong><code>org.apache.camel.component.http.HttpBinding</code></strong> 
in the <a shape="rect" href="registry.html">Registry</a>.</p></td></tr><tr><td 
colspan="1" rowspan="1" class="confluenceTd"><p><span style="color: 
rgb(255,0,0);"><s><code>httpClientConfigurerRef</code></s></span></p></td><td 
colspan="1" rowspan="1" 
class="confluenceTd"><p><s><code>null</code></s></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><span style="color: 
rgb(255,0,0);"><s><strong>Deprecated and removed in Camel 2.17:</strong> 
Reference to a <code>org.apache.camel.
 component.http.HttpClientConfigurer</code> in the <a shape="rect" 
href="registry.html"><span style="color: rgb(255,0,0);">Registry</span></a>. 
Use the <code>httpClientConfigurer</code> option 
instead.</s></span></p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>httpClientConfigurer</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>From <strong>Camel 
2.3:</strong> reference to a 
<strong><code>org.apache.camel.component.http.HttpClientConfigurer</code></strong>
 in the <a shape="rect" href="registry.html">Registry</a>.</p></td></tr><tr><td 
colspan="1" rowspan="1" 
class="confluenceTd"><p><code>httpClient.XXX</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>Setting options on the <a shape="rect" 
class="external-link" 
href="http://hc.apache.org/httpclient-3.x/apidocs/org/apach
 e/commons/httpclient/params/HttpClientParams.html">HttpClientParams</a>. For 
instance <strong><code>httpClient.soTimeout=5000</code></strong> will set the 
<strong><code>SO_TIMEOUT</code></strong> to 5 seconds.</p></td></tr><tr><td 
colspan="1" rowspan="1" 
class="confluenceTd"><p><code>clientConnectionManager</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>To use a custom 
<strong><code>org.apache.http.conn.ClientConnectionManager</code></strong>.</p></td></tr><tr><td
 colspan="1" rowspan="1" 
class="confluenceTd"><p><code>transferException</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>From <strong>Camel 2.6:</strong> If enabled 
and an <a shape="rect" href="exchange.html">Exchange</a> failed processing on 
the consumer side, and if the caused <strong><code>Exception</code></strong> 
was send back
  serialized in the response as a 
<strong><code>application/x-java-serialized-object</code></strong> content type 
(for example using <a shape="rect" href="jetty.html">Jetty</a> or <a 
shape="rect" href="servlet.html">SERVLET</a> Camel components).</p><p>On the 
producer side the exception will be deserialized and thrown as is, instead of 
the <strong><code>HttpOperationFailedException</code></strong>. The caused 
exception is required to be serialized.</p></td></tr><tr><td colspan="1" 
rowspan="1" 
class="confluenceTd"><p><code>headerFilterStrategy</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>From <strong>Camel 
2.11:</strong> reference to a instance of 
<strong><code>org.apache.camel.spi.HeaderFilterStrategy</code></strong> in the 
<a shape="rect" href="registry.html">Registry</a>. It will be used to apply the 
custom&#160;<strong><code>headerFilterStrategy</code></strong> on the new 
create <st
 rong><code>HttpEndpoint</code></strong>.</p></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>urlRewrite</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>From <strong>Camel 
2.11:</strong> <strong>Producer only</strong> Refers to a custom 
<strong><code>org.apache.camel.component.http.UrlRewrite</code></strong> which 
allows you to rewrite URLs when you bridge/proxy endpoints.</p><p>See more 
details at <a shape="rect" href="urlrewrite.html">UrlRewrite</a> and <a 
shape="rect" 
href="how-to-use-camel-as-a-http-proxy-between-a-client-and-server.html">How to 
use Camel as a HTTP proxy between a client and server</a>.</p></td></tr><tr><td 
colspan="1" rowspan="1" 
class="confluenceTd"><p><code>eagerCheckContentAvailable</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>From <strong>Ca
 mel 2.15.3/2.16:</strong> <strong>Consumer only</strong>!</p><p>Whether to 
eager check whether the HTTP requests has content when 
<strong><code>content-length=0</code></strong> or is not present. This can be 
turned on in case HTTP clients do not send streamed data.</p></td></tr><tr><td 
colspan="1" rowspan="1" 
class="confluenceTd"><p><code>copyHeaders</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.16:</strong> if this option 
is true then&#160;<strong><code>IN</code></strong> exchange headers will be 
copied to&#160;<strong><code>OUT</code></strong> exchange headers according to 
copy strategy. Setting this to <strong><code>false</code></strong>, allows to 
only include the headers from the HTTP response (not 
propagating&#160;<strong><code>IN</code></strong> 
headers).</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>okStatusCodeRange</code></p></td><
 td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>200-299</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><strong>Camel 2.16:</strong> the status 
codes which is considered a success response. The values are inclusive. The 
range must be defined as from-to with the dash included.</p></td></tr><tr><td 
colspan="1" rowspan="1" 
class="confluenceTd"><p><code>ignoreResponseBody</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.16:</strong> if this option 
is <strong><code>true</code></strong>, 
the&#160;<strong><code>HttpProducer</code></strong> won't read the response 
body and cache the input stream.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>cookieHandler</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><strong>Camel: 2.19:</stro
 ng> configure a cookie handler to maintain a HTTP 
session</p></td></tr></tbody></table></div></div>
+</div></div></td></tr></tbody></table></div><h3 
id="BookComponentAppendix-HttpEndpointOptions"><code>HttpEndpoint</code> 
Options</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>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>throwExceptionOnFailure</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>true</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>Option to disable throwing the 
<strong><code>HttpOperationFailedException</code></strong> in case of failed 
responses from the remote server. This allows you to get all responses 
regardless of the HTTP status code.</p></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>bridgeEndpoint</code></p></
 td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>false</code></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>If the option 
is&#160;<strong><code>true</code></strong>,&#160;<strong><code>HttpProducer</code></strong>
 will ignore the&#160;<strong><code>Exchange.HTTP_URI</code></strong> header, 
and use the endpoint's URI for request. You may also set 
<strong><code>throwExceptionOnFailure=false</code></strong> to ensure all 
responses are propagated back to the&#160; 
<strong><code>HttpProducer</code></strong>.</p><p>From<strong> Camel 
2.3:</strong> when <strong><code>true</code></strong> the 
<strong><code>HttpProducer</code></strong> 
and&#160;<strong><code>CamelServlet</code></strong> will skip 
<strong><code>gzip</code></strong> processing when 
<strong><code>content-encoding=gzip</code></strong>.</p></td></tr><tr><td 
colspan="1" rowspan="1" 
class="confluenceTd"><p><code>disableStreamCache</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>fal
 se</code></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>When&#160;<strong><code>false</code></strong> 
the&#160;<strong><code>DefaultHttpBinding</code></strong> will copy the request 
input stream into a stream cache and put it into message body which allows it 
to be read more than once.</p><p>When&#160;<strong><code>true</code></strong> 
the <strong><code>DefaultHttpBinding</code></strong> will set the request input 
stream direct into the message body.</p><p>From<strong> Camel 2.17:</strong> 
this options is now also support by the producer to allow using the response 
stream directly instead of stream caching as by default.</p></td></tr><tr><td 
colspan="1" rowspan="1" class="confluenceTd"><p><span style="color: 
rgb(255,0,0);"><s><code>httpBindingRef</code></s></span></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><span style="color: 
rgb(255,0,0);"><s><code>null</code></s></span></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><span style="color: r
 gb(255,0,0);"><s><strong>Deprecated and removed in Camel 2.17:</strong> 
Reference to a <code>org.apache.camel.component.http.HttpBinding</code> in the 
<a shape="rect" href="registry.html"><span style="color: 
rgb(255,0,0);">Registry</span></a>. Use the <code>httpBinding</code> option 
instead.</s></span></p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>httpBinding</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>From<strong> Camel 2.3:</strong> reference 
to a <strong><code>org.apache.camel.component.http.HttpBinding</code></strong> 
in the <a shape="rect" href="registry.html">Registry</a>.</p></td></tr><tr><td 
colspan="1" rowspan="1" class="confluenceTd"><p><span style="color: 
rgb(255,0,0);"><s><code>httpClientConfigurerRef</code></s></span></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><span style="color: 
rgb(255,0,0);"><s><code>null</code></s></span>
 </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><span 
style="color: rgb(255,0,0);"><s><strong>Deprecated and removed in Camel 
2.17:</strong> Reference to a 
<code>org.apache.camel.component.http.HttpClientConfigurer</code> in the <a 
shape="rect" href="registry.html"><span style="color: 
rgb(255,0,0);">Registry</span></a>. Use the <code>httpClientConfigurer</code> 
option instead.</s></span></p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>httpClientConfigurer</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>From <strong>Camel 
2.3:</strong> reference to a 
<strong><code>org.apache.camel.component.http.HttpClientConfigurer</code></strong>
 in the <a shape="rect" href="registry.html">Registry</a>.</p></td></tr><tr><td 
colspan="1" rowspan="1" 
class="confluenceTd"><p><code>httpClient.XXX</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>
 null</code></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Setting options on the <a shape="rect" 
class="external-link" 
href="http://hc.apache.org/httpclient-3.x/apidocs/org/apache/commons/httpclient/params/HttpClientParams.html";>HttpClientParams</a>.
 For instance <strong><code>httpClient.soTimeout=5000</code></strong> will set 
the <strong><code>SO_TIMEOUT</code></strong> to 5 seconds.</p></td></tr><tr><td 
colspan="1" rowspan="1" 
class="confluenceTd"><p><code>clientConnectionManager</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>To use a custom 
<strong><code>org.apache.http.conn.ClientConnectionManager</code></strong>.</p></td></tr><tr><td
 colspan="1" rowspan="1" 
class="confluenceTd"><p><code>transferException</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>From <strong>Camel 2
 .6:</strong> If enabled and an <a shape="rect" 
href="exchange.html">Exchange</a> failed processing on the consumer side, and 
if the caused <strong><code>Exception</code></strong> was send back serialized 
in the response as a 
<strong><code>application/x-java-serialized-object</code></strong> content type 
(for example using <a shape="rect" href="jetty.html">Jetty</a> or <a 
shape="rect" href="servlet.html">SERVLET</a> Camel components).</p><p>On the 
producer side the exception will be deserialized and thrown as is, instead of 
the <strong><code>HttpOperationFailedException</code></strong>. The caused 
exception will be serialized.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>headerFilterStrategy</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>From <strong>Camel 
2.11:</strong> reference to a instance of 
<strong><code>org.apache.camel.spi.HeaderFilterStrategy</code
 ></strong> in the <a shape="rect" href="registry.html">Registry</a>. It will 
 >be used to apply the 
 >custom&#160;<strong><code>headerFilterStrategy</code></strong> on the new 
 >create <strong><code>HttpEndpoint</code></strong>.</p></td></tr><tr><td 
 >colspan="1" rowspan="1" 
 >class="confluenceTd"><p><code>urlRewrite</code></p></td><td colspan="1" 
 >rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" 
 >rowspan="1" class="confluenceTd"><p>From <strong>Camel 2.11:</strong> 
 ><em><strong>Producer only!</strong> </em></p><p>Refers to a custom 
 ><strong><code>org.apache.camel.component.http.UrlRewrite</code></strong> 
 >which allows you to rewrite URLs when you bridge/proxy endpoints.</p><p>See 
 >more details at <a shape="rect" href="urlrewrite.html">UrlRewrite</a> and <a 
 >shape="rect" 
 >href="how-to-use-camel-as-a-http-proxy-between-a-client-and-server.html">How 
 >to use Camel as a HTTP proxy between a client and 
 >server</a>.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd
 "><p><code>eagerCheckContentAvailable</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>From <strong>Camel 2.15.3/2.16:</strong> 
<em><strong>Consumer only</strong>!</em></p><p>Whether to eager check whether 
the HTTP requests has content when 
<strong><code>content-length=0</code></strong> or is not present.</p><p>This 
option should be set to <strong><code>true</code></strong> for those HTTP 
clients that do not send streamed data.</p></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>copyHeaders</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>true</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>From<strong> Camel 
2.16:</strong> if this option is true 
then&#160;<strong><code>IN</code></strong> exchange headers will be copied 
to&#160;<strong><code>OUT</code></strong> exchange headers according to copy 
strategy.</p><p>Setting thi
 s to <strong><code>false</code></strong>, allows to only include the headers 
from the HTTP response (not propagating&#160;<strong><code>IN</code></strong> 
headers).</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>okStatusCodeRange</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>200-299</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>From<strong> Camel 
2.16:</strong> the range of HTTP status codes for which a response is 
considered a success. The values are inclusive. The range must be defined as 
from-to with the dash included.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>ignoreResponseBody</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>From<strong> Camel 2.16:</strong> when 
<strong><code>true</code></strong> 
the&#160;<strong><code>HttpProducer</code></strong> will not read the response 
 body nor cache the input stream.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>cookieHandler</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>From<strong> Camel: 2.19:</strong> 
configure a cookie handler to maintain a HTTP 
session</p></td></tr></tbody></table></div></div>
 
 
 <h3 id="BookComponentAppendix-AuthenticationandProxy">Authentication and 
Proxy</h3><p>The following authentication options can also be set on the 
<strong><code>HttpEndpoint</code></strong>:</p><div 
class="confluenceTableSmall"><div class="table-wrap"><table 
class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Name</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Default Value</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>authMethod</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>Authentication method, either 
as <strong><code>Basic</code></strong>, <strong><code>Digest</code></strong> or 
<strong><code>NTLM</code></strong>.</p></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>authMethodPriority</code></p></td><td 
colspan="1"
  rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>Priority of authentication methods. Is a 
list separated with comma.</p><p>For example: 
<code><strong>Basic</strong>,<strong>Digest</strong></code> to exclude 
<strong><code>NTLM</code></strong>.</p></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>authUsername</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>Username for 
authentication.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>authPassword</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>Password for 
authentication.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>authDomain</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>null<
 /code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Domain 
for&#160;<strong><code>NTLM</code></strong> 
authentication.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>authHost</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>Optional host 
for&#160;<strong><code>NTLM</code></strong> 
authentication.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>proxyHost</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>The proxy host name.</p></td></tr><tr><td 
colspan="1" rowspan="1" 
class="confluenceTd"><p><code>proxyPort</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>The proxy port number.</p></td></tr><tr><td 
colspan="1" rowspan="1" class="conf
 luenceTd"><p><code>proxyAuthMethod</code></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Authentication method for proxy, either as 
<strong><code>Basic</code></strong>, <strong><code>Digest</code></strong> or 
<strong><code>NTLM</code></strong>.</p></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>proxyAuthUsername</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>Username for proxy 
authentication.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>proxyAuthPassword</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>Password for proxy 
authentication.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>proxyAuthDomain</code></p></td><td colsp
 an="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>Domain for 
proxy&#160;<strong><code>NTLM</code></strong> 
authentication.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>proxyAuthHost</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>Optional host for 
proxy&#160;<strong><code>NTLM</code></strong> 
authentication.</p></td></tr></tbody></table></div></div>
 
 
-<p>When using authentication you <strong>must</strong> provide the choice of 
method for the <strong><code>authMethod</code></strong> or 
<strong><code>authProxyMethod</code></strong> options. You can configure the 
proxy and authentication details on either the 
<strong><code>HttpComponent</code></strong> or the 
<strong><code>HttpEndoint</code></strong>. Values provided on the 
<strong><code>HttpEndpoint</code></strong> will take precedence over 
<strong><code>HttpComponent</code></strong>. Its most likely best to configure 
this on the <strong><code>HttpComponent</code></strong> which allows you to do 
this once.</p><p>The <a shape="rect" href="http.html">HTTP</a> component uses 
convention over configuration which means that if you have not explicit set a 
<strong><code>authMethodPriority</code></strong> then it will fallback and use 
the select(ed) <strong><code>authMethod</code></strong> as priority as well. So 
if you use <strong><code>authMethod.Basic</code></strong> then the <strong><co
 de>auhtMethodPriority</code></strong> will be 
<strong><code>Basic</code></strong> only.</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"><strong>Note</strong>:&#160;<strong><code>camel-http</code></strong>
 is based on HttpClient v3.x and as such has only <a shape="rect" 
class="external-link" 
href="http://hc.apache.org/httpclient-3.x/authentication.html#NTLM";>limited 
support</a> for what is known as NTLMv1, the early version of the NTLM 
protocol. It does not support NTLMv2 at all. 
<strong><code>camel-http4</code></strong> has support for 
NTLMv2.</div></div><h3 
id="BookComponentAppendix-HttpComponentOptions"><code>HttpComponent</code> 
Options</h3><div class="confluenceTableSmall"><div class="table-wrap"><table 
class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Name</p></t
 h><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>httpBinding</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>To use a custom 
<strong><code>org.apache.camel.component.http.HttpBinding</code></strong>.</p></td></tr><tr><td
 colspan="1" rowspan="1" 
class="confluenceTd"><p><code>httpClientConfigurer</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>To use a custom 
<strong><code>org.apache.camel.component.http.HttpClientConfigurer</code></strong>.</p></td></tr><tr><td
 colspan="1" rowspan="1" 
class="confluenceTd"><p><code>httpConnectionManager</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td
  colspan="1" rowspan="1" class="confluenceTd"><p>To use a custom 
<strong><code>org.apache.commons.httpclient.HttpConnectionManager</code></strong>.</p></td></tr><tr><td
 colspan="1" rowspan="1" 
class="confluenceTd"><p><code>httpConfiguration</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>To use a custom 
<strong><code>org.apache.camel.component.http.HttpConfiguration.</code></strong></p></td></tr><tr><td
 colspan="1" rowspan="1" 
class="confluenceTd"><code>allowJavaSerializedObject</code></td><td colspan="1" 
rowspan="1" class="confluenceTd"><code>false</code></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><strong>Camel 
2.16.1/2.15.5:</strong>&#160;Whether to allow java serialization when a request 
uses 
<strong><code>context-type=application/x-java-serialized-object</code></strong>.</p><p>If
 you enable this then be aware that Java will deserialize the incoming data 
from the request 
 to Java and that can be a potential security 
risk.</p></td></tr></tbody></table></div></div>
+<p>When using authentication you <strong>must</strong> provide the choice of 
method for the <strong><code>authMethod</code></strong> or 
<strong><code>authProxyMethod</code></strong> options. You can configure the 
proxy and authentication details on either the 
<strong><code>HttpComponent</code></strong> or the 
<strong><code>HttpEndoint</code></strong>. Values provided on the 
<strong><code>HttpEndpoint</code></strong> will take precedence over 
<strong><code>HttpComponent</code></strong>. Its most likely best to configure 
this on the <strong><code>HttpComponent</code></strong> which allows you to do 
this once.</p><p>The <a shape="rect" href="http.html">HTTP</a> component uses 
convention over configuration which means that if you have not explicit set a 
<strong><code>authMethodPriority</code></strong> then it will fallback and use 
the select(ed) <strong><code>authMethod</code></strong> as priority as well. So 
if you use <strong><code>authMethod.Basic</code></strong> then the <strong><co
 de>auhtMethodPriority</code></strong> will be 
<strong><code>Basic</code></strong> only.</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><strong>Note</strong>:&#160;<strong><code>camel-http</code></strong>
 is based on HttpClient v3.x and as such has only <a shape="rect" 
class="external-link" 
href="http://hc.apache.org/httpclient-3.x/authentication.html#NTLM";>limited 
support</a> for what is known as NTLMv1, the early version of the NTLM 
protocol. It does not support NTLMv2 at all. 
<strong><code>camel-http4</code></strong> has support for 
NTLMv2.</p></div></div><h3 
id="BookComponentAppendix-HttpComponentOptions"><code>HttpComponent</code> 
Options</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>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>httpBinding</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>To use a custom 
<strong><code>org.apache.camel.component.http.HttpBinding</code></strong>.</p></td></tr><tr><td
 colspan="1" rowspan="1" 
class="confluenceTd"><p><code>httpClientConfigurer</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>To use a custom 
<strong><code>org.apache.camel.component.http.HttpClientConfigurer</code></strong>.</p></td></tr><tr><td
 colspan="1" rowspan="1" 
class="confluenceTd"><p><code>httpConnectionManager</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p><
 /td><td colspan="1" rowspan="1" class="confluenceTd"><p>To use a custom 
<strong><code>org.apache.commons.httpclient.HttpConnectionManager</code></strong>.</p></td></tr><tr><td
 colspan="1" rowspan="1" 
class="confluenceTd"><p><code>httpConfiguration</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>To use a custom 
<strong><code>org.apache.camel.component.http.HttpConfiguration.</code></strong></p></td></tr><tr><td
 colspan="1" rowspan="1" 
class="confluenceTd"><code>allowJavaSerializedObject</code></td><td colspan="1" 
rowspan="1" class="confluenceTd"><code>false</code></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><strong>Camel 
2.16.1/2.15.5:</strong>&#160;Whether to allow java serialization when a request 
uses 
<strong><code>context-type=application/x-java-serialized-object</code></strong>.</p><p>If
 you enable this then be aware that Java will deserialize the incoming data 
from the r
 equest to Java and that can be a potential security 
risk.</p></td></tr></tbody></table></div></div>
 
 
-<p><strong><code>HttpConfiguration</code></strong> contains all the options 
listed in the table above under the section <em>HttpConfiguration - Setting 
Authentication and Proxy</em>.</p><h3 
id="BookComponentAppendix-MessageHeaders.6">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>Exchange.HTTP_URI</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>URI to call. Will override 
existing URI set directly on the endpoint. <span>This URI is the URI of the 
HTTP server to call. Its not the same as the Camel endpoint URI, where you can 
configure endpoint options 
 such as security etc. This header does not support that, its only the URI of 
the HTTP server.</span></p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>Exchange.HTTP_METHOD</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>HTTP method/verb to 
use.</p><p>Can be one 
of:</p><ul><li><strong><code>GET</code></strong></li><li><strong><code>POST</code></strong></li><li><strong><code>PUT</code></strong></li><li><strong><code>DELETE</code></strong></li><li><strong><code>HEAD</code></strong></li><li><strong><code>OPTIONS</code></strong></li><li><strong><code>TRACE</code></strong></li></ul></td></tr><tr><td
 colspan="1" rowspan="1" 
class="confluenceTd"><p><code>Exchange.HTTP_PATH</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 request URI's path. The header will be 
used to b
 uild the request URI with the <strong><code>HTTP_URI</code></strong>. 
</p><p>From<strong> Camel 2.3.0:</strong> if the path starts with a 
<strong><code>/</code></strong>, 
the&#160;<strong><code>HttpProducer</code></strong> will try to find the 
relative path based on 
the&#160;<strong><code>Exchange.HTTP_BASE_URI</code></strong> header or the 
<strong><code>exchange.getFromEndpoint().getEndpointUri();</code></strong>.</p></td></tr><tr><td
 colspan="1" rowspan="1" 
class="confluenceTd"><p><code>Exchange.HTTP_QUERY</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>URI parameters. Will override 
existing URI parameters set directly on the endpoint.</p></td></tr><tr><td 
colspan="1" rowspan="1" 
class="confluenceTd"><p><code>Exchange.HTTP_RESPONSE_CODE</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>int</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>The H
 TTP response code from the external server. 
Is&#160;<strong><code>200</code></strong> for OK.</p></td></tr><tr><td 
colspan="1" rowspan="1" 
class="confluenceTd"><p><code>Exchange.HTTP_CHARACTER_ENCODING</code></p></td><td
 colspan="1" rowspan="1" 
class="confluenceTd"><p><code>String</code></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Character encoding.</p></td></tr><tr><td colspan="1" 
rowspan="1" 
class="confluenceTd"><p><code>Exchange.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>The HTTP content type. Is set 
on both the&#160;<strong><code>IN</code></strong> 
and&#160;<strong><code>OUT</code></strong> message to provide a content type, 
such as <strong><code>text/html</code></strong>.</p></td></tr><tr><td 
colspan="1" rowspan="1" 
class="confluenceTd"><p><code>Exchange.CONTENT_ENCODING</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>Str
 ing</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The 
HTTP content encoding. Is set on both the&#160;<strong><code>IN</code></strong> 
and&#160;<strong><code>OUT</code></strong> message to provide a content 
encoding, such as <strong><code>gzip</code>.</strong></p></td></tr><tr><td 
colspan="1" rowspan="1" 
class="confluenceTd"><p><code>Exchange.HTTP_SERVLET_REQUEST</code></p></td><td 
colspan="1" rowspan="1" 
class="confluenceTd"><p><code>HttpServletRequest</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>The 
<strong><code>HttpServletRequest</code></strong> object.</p></td></tr><tr><td 
colspan="1" rowspan="1" 
class="confluenceTd"><p><code>Exchange.HTTP_SERVLET_RESPONSE</code></p></td><td 
colspan="1" rowspan="1" 
class="confluenceTd"><p><code>HttpServletResponse</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>The 
<strong><code>HttpServletResponse</code></strong> object.</p></td></tr><tr><td 
colspan="1" rowspan="1" class="confluenceT
 d"><p><code>Exchange.HTTP_PROTOCOL_VERSION</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>From<strong> Camel 2.5:</strong> You can 
set the HTTP protocol version with this header, e.g., 
<strong><code>HTTP/1.0</code></strong>. If the header is not present the 
<strong><code>HttpProducer</code></strong> will use the default value 
<strong><code>HTTP/1.1</code></strong>.</p></td></tr></tbody></table></div></div>
+<p><strong><code>HttpConfiguration</code></strong> contains all the options 
listed in the table above under the section <em>HttpConfiguration - Setting 
Authentication and Proxy</em>.</p><h3 
id="BookComponentAppendix-MessageHeaders.6">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>Exchange.HTTP_URI</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>URI to call. Will override 
existing URI set directly on the endpoint. <span>This URI is the URI of the 
HTTP server to call. Its not the same as the Camel endpoint URI, where you can 
configure endpoint options 
 such as security etc. This header does not support that, its only the URI of 
the HTTP server.</span></p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>Exchange.HTTP_METHOD</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>HTTP method/verb to 
use.</p><p>Can be one 
of:</p><ul><li><strong><code>GET</code></strong></li><li><strong><code>POST</code></strong></li><li><strong><code>PUT</code></strong></li><li><strong><code>DELETE</code></strong></li><li><strong><code>HEAD</code></strong></li><li><strong><code>OPTIONS</code></strong></li><li><strong><code>TRACE</code></strong></li></ul></td></tr><tr><td
 colspan="1" rowspan="1" 
class="confluenceTd"><p><code>Exchange.HTTP_PATH</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 request URI's path. The header will be 
used to b
 uild the request URI with the 
<strong><code>HTTP_URI</code></strong>.</p><p>From<strong> Camel 
2.3.0:</strong> if the path starts with a <strong><code>/</code></strong>, 
the&#160;<strong><code>HttpProducer</code></strong> will try to find the 
relative path based on 
the&#160;<strong><code>Exchange.HTTP_BASE_URI</code></strong> header or the 
<strong><code>exchange.getFromEndpoint().getEndpointUri();</code></strong>.</p></td></tr><tr><td
 colspan="1" rowspan="1" 
class="confluenceTd"><p><code>Exchange.HTTP_QUERY</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>URI parameters. Will override 
existing URI parameters set directly on the endpoint.</p></td></tr><tr><td 
colspan="1" rowspan="1" 
class="confluenceTd"><p><code>Exchange.HTTP_RESPONSE_CODE</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>int</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>The HT
 TP response code from the external server. 
Is&#160;<strong><code>200</code></strong> for OK.</p></td></tr><tr><td 
colspan="1" rowspan="1" 
class="confluenceTd"><p><code>Exchange.HTTP_CHARACTER_ENCODING</code></p></td><td
 colspan="1" rowspan="1" 
class="confluenceTd"><p><code>String</code></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Character encoding.</p></td></tr><tr><td colspan="1" 
rowspan="1" 
class="confluenceTd"><p><code>Exchange.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>The HTTP content type. Is set 
on both the&#160;<strong><code>IN</code></strong> 
and&#160;<strong><code>OUT</code></strong> message to provide a content type, 
such as <strong><code>text/html</code></strong>.</p></td></tr><tr><td 
colspan="1" rowspan="1" 
class="confluenceTd"><p><code>Exchange.CONTENT_ENCODING</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>Stri
 ng</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The HTTP 
content encoding. Is set on both the&#160;<strong><code>IN</code></strong> 
and&#160;<strong><code>OUT</code></strong> message to provide a content 
encoding, such as <strong><code>gzip</code>.</strong></p></td></tr><tr><td 
colspan="1" rowspan="1" 
class="confluenceTd"><p><code>Exchange.HTTP_SERVLET_REQUEST</code></p></td><td 
colspan="1" rowspan="1" 
class="confluenceTd"><p><code>HttpServletRequest</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>The 
<strong><code>HttpServletRequest</code></strong> object.</p></td></tr><tr><td 
colspan="1" rowspan="1" 
class="confluenceTd"><p><code>Exchange.HTTP_SERVLET_RESPONSE</code></p></td><td 
colspan="1" rowspan="1" 
class="confluenceTd"><p><code>HttpServletResponse</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>The 
<strong><code>HttpServletResponse</code></strong> object.</p></td></tr><tr><td 
colspan="1" rowspan="1" class="confluenceTd
 "><p><code>Exchange.HTTP_PROTOCOL_VERSION</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>From<strong> Camel 2.5:</strong> You can 
set the HTTP protocol version with this header, e.g., 
<strong><code>HTTP/1.0</code></strong>. If the header is not present the 
<strong><code>HttpProducer</code></strong> will use the default value 
<strong><code>HTTP/1.1</code></strong>.</p></td></tr></tbody></table></div></div>
 
 
 <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><strong>Note</strong>: The header 
names above are constants. For the spring DSL you have to use the value of the 
constant instead of the name.</p></div></div><h3 
id="BookComponentAppendix-MessageBody.1">Message Body</h3><p>Camel will store 
the HTTP response from the external server on 
the&#160;<strong><code>OUT</code></strong> body. All headers from 
the&#160;<strong><code>IN</code></strong> message will be copied to 
the&#160;<strong><code>OUT</code></strong> message, so headers are preserved 
during routing. Additionally Camel will add the HTTP response headers as well 
to the&#160;<strong><code>OUT</code></strong> message headers.</p><h3 
id="BookComponentAppendix-ResponseCode">Response Code</h3><p>Camel will handle 
according to the HTTP response code:</p><ul
  class="alternate"><li>Response code is in the range 
<strong><code>100..299</code></strong>, Camel regards it as a success 
response.</li><li>Response code is in the range 
<strong><code>300..399</code></strong>, Camel regards it as a redirection 
response and will throw a 
<strong><code>HttpOperationFailedException</code></strong> with the 
information.</li><li><p>Response code is <strong><code>400+</code></strong>, 
Camel regards it as an external server failure and will throw a 
<strong><code>HttpOperationFailedException</code></strong> with the 
information.</p><div class="confluence-information-macro 
confluence-information-macro-tip"><p 
class="title">throwExceptionOnFailure</p><span class="aui-icon aui-icon-small 
aui-iconfont-approve confluence-information-macro-icon"></span><div 
class="confluence-information-macro-body"><p>The option, 
<strong><code>throwExceptionOnFailure</code>, </strong>can be set to 
<strong><code>false</code></strong> to prevent the 
<strong><code>HttpOperationFaile
 dException</code></strong> from being thrown for failed response codes. This 
allows you to get any response from the remote server.<br clear="none"> There 
is a sample below demonstrating this.</p></div></div></li></ul><h3 
id="BookComponentAppendix-HttpOperationFailedException"><code>HttpOperationFailedException</code></h3><p>This
 exception contains the following information:</p><ul class="alternate"><li>The 
HTTP status code.</li><li>The HTTP status line (text of the status 
code).</li><li>Redirect location, if server returned a 
redirect.</li><li>Response body as a 
<strong><code>java.lang.String</code></strong>, if server provided a body as 
response.</li></ul><h3 id="BookComponentAppendix-CallingUsingGETorPOST">Calling 
Using&#160;<code>GET</code> or&#160;<code>POST</code></h3><p>The following 
algorithm is used to determine if either <strong><code>GET</code></strong> or 
<strong><code>POST</code></strong> HTTP method should be used:</p><ol><li>Use 
method provided in header.</li><li><str
 ong><code>GET</code></strong> if query string is provided in 
header.</li><li><strong><code>GET</code></strong> if endpoint is configured 
with a query string.</li><li><strong><code>POST</code></strong> if there is 
data to send (body is not null).</li><li><strong><code>GET</code></strong> 
otherwise.</li></ol><h3 
id="BookComponentAppendix-HowToAccessTheHttpServletRequestandHttpServletResponse">How
 To Access The <code>HttpServletRequest</code> 
and&#160;<code>HttpServletResponse</code></h3><p>You can get access to these 
two using the Camel type converter system using:</p><div class="code panel pdl" 
style="border-width: 1px;"><div class="codeContent panelContent pdl">
@@ -4392,7 +4392,7 @@ from(&quot;jetty://http://localhost:8222
     &lt;/route&gt;
 &lt;/camelContext&gt;
 ]]></script>
-</div></div><h4 
id="BookComponentAppendix-UsingPre-EmptiveAuthentication">Using Pre-Emptive 
Authentication</h4><p>An end user reported that he had problem with 
authenticating with HTTPS. The problem was eventually resolved when he 
discovered the HTTPS server did not return a HTTP code 401 Authorization 
Required. The solution was to set the following URI option: 
<strong><code>httpClient.authenticationPreemptive=true</code></strong></p><h4 
id="BookComponentAppendix-AcceptingSelf-SignedCertificatesFromRemoteServer">Accepting
 Self-Signed Certificates From Remote Server</h4><p>See this <a shape="rect" 
class="external-link" 
href="http://www.nabble.com/Using-HTTPS-in-camel-http-when-remote-side-has-self-signed-cert-td25916878.html";
 rel="nofollow">link</a> from a mailing list discussion with some code to 
outline how to do this with the Apache Commons HTTP API.</p><h4 
id="BookComponentAppendix-SettingupSSLforHTTPClient">Setting up SSL for HTTP 
Client</h4><h5 id="BookComponentAppendix-Usingth
 eJSSEConfigurationUtility.1">Using the JSSE Configuration Utility</h5><p>From 
<strong>Camel 2.8</strong>: the&#160;<strong><code>HTTP4</code></strong> 
component supports SSL/TLS configuration through the <a shape="rect" 
href="camel-configuration-utilities.html">Camel JSSE Configuration 
Utility</a>.&#160; This utility greatly decreases the amount of component 
specific code you need to write and is configurable at the endpoint and 
component levels.&#160; The following examples demonstrate how to use the 
utility with the&#160;<strong><code>HTTP4</code></strong> component.</p><p>The 
version of the Apache HTTP client used in this component resolves SSL/TLS 
information from a global "protocol" registry.&#160; This component provides an 
implementation, 
<strong><code>org.apache.camel.component.http.SSLContextParametersSecureProtocolSocketFactory</code></strong>,
 of the HTTP client's protocol socket factory in order to support the use of 
the Camel JSSE Configuration utility.&#160; The follow
 ing example demonstrates how to configure the protocol registry and use the 
registered protocol information in a route.</p><div class="code panel pdl" 
style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div><h4 
id="BookComponentAppendix-UsingPre-EmptiveAuthentication">Using Pre-Emptive 
Authentication</h4><p>If an HTTP server should fail to respond correctly with 
an expected <code><strong>401 Authorization Required</strong></code> response 
for a failed authentication attempt a client can instead use preemptive 
authentication by specifying the URI option: 
<strong><code>httpClient.authenticationPreemptive=true</code></strong>.</p><h4 
id="BookComponentAppendix-AcceptingSelf-SignedCertificatesFromRemoteServer">Accepting
 Self-Signed Certificates From Remote Server</h4><p>See this <a shape="rect" 
class="external-link" 
href="http://www.nabble.com/Using-HTTPS-in-camel-http-when-remote-side-has-self-signed-cert-td25916878.html";
 rel="nofollow">link</a> from a mailing list discussion with some code to 
outline how to do this with the Apache Commons HTTP API.</p><h4 
id="BookComponentAppendix-SettingupSSLforHTTPClient">Setting up SSL for HTTP 
Client</h4><h5 id="BookComponentAppendix-Using
 theJSSEConfigurationUtility.1">Using the JSSE Configuration 
Utility</h5><p>From <strong>Camel 2.8</strong>: 
the&#160;<strong><code>HTTP4</code></strong> component supports SSL/TLS 
configuration through the <a shape="rect" 
href="camel-configuration-utilities.html">Camel JSSE Configuration 
Utility</a>.&#160; This utility greatly decreases the amount of component 
specific code you need to write and is configurable at the endpoint and 
component levels.&#160; The following examples demonstrate how to use the 
utility with the&#160;<strong><code>HTTP4</code></strong> component.</p><p>The 
version of the Apache HTTP client used in this component resolves SSL/TLS 
information from a global "protocol" registry.&#160; This component provides an 
implementation, 
<strong><code>org.apache.camel.component.http.SSLContextParametersSecureProtocolSocketFactory</code></strong>,
 of the HTTP client's protocol socket factory in order to support the use of 
the Camel JSSE Configuration utility.&#160; The foll
 owing example demonstrates how to configure the protocol registry and use the 
registered protocol information in a route.</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[KeyStoreParameters ksp = new 
KeyStoreParameters();
 ksp.setResource(&quot;/users/home/server/keystore.jks&quot;);
 ksp.setPassword(&quot;keystorePassword&quot;);


Reply via email to