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("direct:start")
<to uri="http://www.google.com"/>
<to uri="mock:results"/>
]]></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 <strong><code>true</code></strong>, <strong><code>HttpProducer</code></strong>
will ignore the <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 <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>, <strong><code>HttpProducer</code></strong>
and <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 <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 <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 <strong><code>IN</code></strong> exchange headers will be
copied to <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 <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 <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 <strong><code>true</code></strong>, <strong><code>HttpProducer</code></strong>
will ignore the <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 
<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 <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 <strong><code>false</code></strong>
the <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 <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 <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 <strong><code>IN</code></strong> exchange headers will be copied
to <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 <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 <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 <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 <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 <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 <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>: <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> 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>: <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> 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 <strong><code>HttpProducer</code></strong> will try to find the
relative path based on
the <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 <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 <strong><code>IN</code></strong>
and <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 <strong><code>IN</code></strong>
and <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 <strong><code>HttpProducer</code></strong> will try to find the
relative path based on
the <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 <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 <strong><code>IN</code></strong>
and <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 <strong><code>IN</code></strong>
and <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 <strong><code>OUT</code></strong> body. All headers from
the <strong><code>IN</code></strong> message will be copied to
the <strong><code>OUT</code></strong> message, so headers are preserved
during routing. Additionally Camel will add the HTTP response headers as well
to the <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 <code>GET</code> or <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 <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("jetty://http://localhost:8222
</route>
</camelContext>
]]></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 <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>.  This utility greatly decreases the amount of component
specific code you need to write and is configurable at the endpoint and
component levels.  The following examples demonstrate how to use the
utility with the <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.  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.  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 <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>.  This utility greatly decreases the amount of component
specific code you need to write and is configurable at the endpoint and
component levels.  The following examples demonstrate how to use the
utility with the <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.  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.  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("/users/home/server/keystore.jks");
ksp.setPassword("keystorePassword");