Author: buildbot
Date: Thu Nov 12 10:19:03 2015
New Revision: 972193
Log:
Production update by buildbot for camel
Modified:
websites/production/camel/content/cache/main.pageCache
websites/production/camel/content/http4.html
Modified: websites/production/camel/content/cache/main.pageCache
==============================================================================
Binary files - no diff available.
Modified: websites/production/camel/content/http4.html
==============================================================================
--- websites/production/camel/content/http4.html (original)
+++ websites/production/camel/content/http4.html Thu Nov 12 10:19:03 2015
@@ -96,7 +96,7 @@
</div></div><div class="confluence-information-macro
confluence-information-macro-information"><p class="title">camel-http4 vs
camel-http</p><span class="aui-icon aui-icon-small aui-iconfont-info
confluence-information-macro-icon"></span><div
class="confluence-information-macro-body"><p>Camel-http4 uses <a shape="rect"
class="external-link"
href="http://hc.apache.org/httpcomponents-client-ga/">Apache HttpClient 4.x</a>
while camel-http uses <a shape="rect" class="external-link"
href="http://hc.apache.org/httpclient-3.x/">Apache HttpClient
3.x</a>.</p></div></div><h3 id="HTTP4-URIformat">URI format</h3><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[http4:hostname[:port][/resourceUri][?options]
]]></script>
-</div></div><p>Will by default use port 80 for HTTP and 443 for
HTTPS.</p><p>You can append query options to the URI in the following format,
<code>?option=value&option=value&...</code></p><div
class="confluence-information-macro
confluence-information-macro-information"><p class="title">camel-http4 vs
camel-jetty</p><span class="aui-icon aui-icon-small aui-iconfont-info
confluence-information-macro-icon"></span><div
class="confluence-information-macro-body"><p>You can only produce to endpoints
generated by the HTTP4 component. Therefore it should never be used as input
into your Camel Routes. To bind/expose an HTTP endpoint via a HTTP server as
input to a Camel route, use the <a shape="rect" href="jetty.html">Jetty
Component</a> instead.</p></div></div><h3
id="HTTP4-HttpComponentOptions">HttpComponent Options</h3><div
class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1"
rowspan="1" class="confluenceTh"><p>Name</p></th><th colspan="1" rowspan="1"
clas
s="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>maxTotalConnections</code></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p><code>200</code></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>The maximum number of
connections.</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p><code>connectionsPerRoute</code></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p><code>20</code></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>The maximum number of
connections per route.</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p><code>cookieStore</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.11.2/2.12.0:</strong> To
use a custom <code>org.apache.http.client.CookieStore</code>.
By default the <code>org.apache.http.impl.client.BasicCookieStore</code> is
used which is an in-memory only cookie store. Notice if
<code>bridgeEndpoint=true</code> then the cookie store is forced to be a noop
cookie store as cookies shouldn't be stored as we are just bridging (eg acting
as a proxy).</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>Reference to a
<code>org.apache.camel.component.http.HttpClientConfigurer</code> in the <a
shape="rect" href="registry.html">Registry</a>.</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
<code>org.apache.http.conn.ClientConnectionManager</co
de>.</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>To use a custom
<code>org.apache.camel.component.http.HttpBinding</code>.</p></td></tr><tr><td
colspan="1" rowspan="1"
class="confluenceTd"><p><code>httpContext</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.9.2:</strong> To use a
custom <code>org.apache.http.protocol.HttpContext</code> when executing
requests.</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p><code>sslContextParameters</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.8:</strong> To
use a custom <code>org.apache.camel.util.jsse.SSLContextParam
eters</code>. See <a shape="rect"
href="#HTTP4-UsingtheJSSEConfigurationUtility">Using the JSSE Configuration
Utility</a>. <strong>Important:</strong> Only one instance of
<code>org.apache.camel.util.jsse.SSLContextParameters</code> is supported per
HttpComponent. If you need to use 2 or more different instances, you need to
define a new HttpComponent per instance you need. See further below for more
details.</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p><code>x509HostnameVerifier</code></p></td><td
colspan="1" rowspan="1"
class="confluenceTd"><p><code>BrowserCompatHostnameVerifier</code></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.7:</strong> You
can refer to a different
<code>org.apache.http.conn.ssl.X509HostnameVerifier</code> instance in the <a
shape="rect" href="registry.html">Registry</a> such as
<code>org.apache.http.conn.ssl.StrictHostnameVerifier</code> or
<code>org.apache.http.conn.ssl.AllowAllHostnameVerifier</code>.<
/p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p><code>connectionTimeToLive</code></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p><code>-1</code></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.11.0:</strong>
The time for connection to live, the time unit is millisecond, the default
value is always keep alive.</p></td></tr></tbody></table></div><p> </p><h3
id="HTTP4-HttpEndpointOptions">HttpEndpoint Options</h3><div
class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1"
rowspan="1" class="confluenceTh"><p>Name</p></th><th colspan="1" rowspan="1"
class="confluenceTh"><p>Default Value</p></th><th colspan="1" rowspan="1"
class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1"
rowspan="1"
class="confluenceTd"><p><code>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>Opt
ion to disable throwing the <code>HttpOperationFailedException</code> 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 true, HttpProducer will
ignore the Exchange.HTTP_URI header, and use the endpoint's URI for request.
You may also set the <strong>throwExcpetionOnFailure</strong> to be false to
let the HttpProducer send all fault responses back. Also if set to true
HttpProducer and CamelServlet will skip the gzip processing if the
content-encoding is "gzip".</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p><code>clearExpiredCookies</code></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p><code>true</code></p></td><td
colspan="1" rowspan="1" cl
ass="confluenceTd"><p><strong>Camel 2.11.2/2.12.0:</strong> Whether to clear
expired cookies before sending the HTTP request. This ensures the cookies store
does not keep growing by adding new cookies which is newer removed when they
are expired.</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p><code>cookieStore</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.11.2/2.12.0:</strong> To
use a custom <code>org.apache.http.client.CookieStore</code>. By default the
<code>org.apache.http.impl.client.BasicCookieStore</code> is used which is an
in-memory only cookie store. Notice if <code>bridgeEndpoint=true</code> then
the cookie store is forced to be a noop cookie store as cookies shouldn't be
stored as we are just bridging (eg acting as a proxy).</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><td
colspan="1" rowspan="1" class="confluenceTd"><p>DefaultHttpBinding will copy
the request input stream into a stream cache and put it into the message body
if this option is false to support multiple reads, otherwise DefaultHttpBinding
will set the request input stream directly in the message
body.</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><strong>Camel 2.10.4:</strong>
Reference to a instance of
<code>org.apache.camel.spi.HeaderFilterStrategy</code> in the <a shape="rect"
href="registry.html">Registry</a>. It will be used to apply the custom
headerFilterStrategy on the new create HttpEndpoint.</p></td></tr><tr><td
colspan="1" rowspan="1"
class="confluenceTd"><p><code>httpBindingRef</code></p></td><td cols
pan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p><strong>Deprecated and will be
removed in Camel 3.0:</strong> Reference to a
<code>org.apache.camel.component.http.HttpBinding</code> in the <a shape="rect"
href="registry.html">Registry</a>. Use the <code>httpBinding</code> option
instead.</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>To use a custom
<code>org.apache.camel.component.http.HttpBinding</code>.</p></td></tr><tr><td
colspan="1" rowspan="1"
class="confluenceTd"><p><code>httpClientConfigurerRef</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>Deprecated and will be
removed in Camel 3.0:</strong> Reference to a <code>o
rg.apache.camel.component.http.HttpClientConfigurer</code> in the <a
shape="rect" href="registry.html">Registry</a>. Use the
<code>httpClientConfigurer</code> option instead.</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>Reference to a
<code>org.apache.camel.component.http.HttpClientConfigurer</code> in the <a
shape="rect" href="registry.html">Registry</a>.</p></td></tr><tr><td
colspan="1" rowspan="1"
class="confluenceTd"><p><code>httpContextRef</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>Deprecated and will be removed in
Camel 3.0:</strong> <strong>Camel 2.9.2:</strong> Reference to a custom
<code>org.apache.http.protocol.HttpContext</code> in the <a shape="rect"
href="registry.html"
>Registry</a>. Use the <code>httpContext</code> option
>instead.</p></td></tr><tr><td colspan="1" rowspan="1"
>class="confluenceTd"><p><code>httpContext</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.9.2:</strong> To use a
>custom <code>org.apache.http.protocol.HttpContext</code> when executing
>requests.</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/httpcomponents-core-ga/httpcore/apidocs/org/apache/http/params/BasicHttpParams.html">BasicHttpParams</a>.
> For instance <code>httpClient.soTimeout=5000</code> will set the
><code>SO_TIMEOUT</code> to 5 seconds. Look on the setter methods of the
>following para
meter beans for a complete reference: <a shape="rect" class="external-link"
href="http://hc.apache.org/httpcomponents-client-ga/httpclient/apidocs/org/apache/http/auth/params/AuthParamBean.html">AuthParamBean</a>,
<a shape="rect" class="external-link"
href="http://hc.apache.org/httpcomponents-client-ga/httpclient/apidocs/org/apache/http/client/params/ClientParamBean.html">ClientParamBean</a>,
<a shape="rect" class="external-link"
href="http://hc.apache.org/httpcomponents-client-ga/httpclient/apidocs/org/apache/http/conn/params/ConnConnectionParamBean.html">ConnConnectionParamBean</a>,
<a shape="rect" class="external-link"
href="http://hc.apache.org/httpcomponents-client-ga/httpclient/apidocs/org/apache/http/conn/params/ConnRouteParamBean.html">ConnRouteParamBean</a>,
<a shape="rect" class="external-link"
href="http://hc.apache.org/httpcomponents-client-ga/httpclient/apidocs/org/apache/http/cookie/params/CookieSpecParamBean.html">CookieSpecParamBean</a>,
<a shape="rect" class="extern
al-link"
href="http://hc.apache.org/httpcomponents-core-ga/httpcore/apidocs/org/apache/http/params/HttpConnectionParamBean.html">HttpConnectionParamBean</a>
and <a shape="rect" class="external-link"
href="http://hc.apache.org/httpcomponents-core-ga/httpcore/apidocs/org/apache/http/params/HttpProtocolParamBean.html">HttpProtocolParamBean</a></p><p><strong>Since
Camel 2.13.0: </strong>httpClient is changed to configure the
<span> </span><a shape="rect" class="external-link"
href="https://hc.apache.org/httpcomponents-client-4.3.x/httpclient/apidocs/org/apache/http/impl/client/HttpClientBuilder.html">HttpClientBuilder</a><span> and </span><a
shape="rect" class="external-link"
href="https://hc.apache.org/httpcomponents-client-4.3.x/httpclient/apidocs/org/apache/http/client/config/RequestConfig.Builder.html">RequestConfig.Builder</a>,
please check out API document for a complete reference. E.g. since this
version use <code>httpClient.socketTimeout=5000</code> for setting th
e socket timeout 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
<code>org.apache.http.conn.ClientConnectionManager</code>.</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>If enabled and an <a shape="rect"
href="exchange.html">Exchange</a> failed processing on the consumer side, and
if the caused <code>Exception</code> was send back serialized in the response
as a <code>application/x-java-serialized-object</code> content type (for
example using <a shape="rect" href="jetty.html">Jetty</a> or <a shape="rect"
href="servlet.html">SERVLET</a> Camel components). On the producer s
ide the exception will be deserialized and thrown as is, instead of the
<code>HttpOperationFailedException</code>. The caused exception is required to
be serialized.</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p><code>sslContextParametersRef</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>Deprecated and will be
removed in Camel 3.0:</strong> <strong>Camel 2.8:</strong> Reference to a
<code>org.apache.camel.util.jsse.SSLContextParameters</code> in the <a
shape="rect" href="registry.html">Registry</a>. <strong>Important:</strong>
Only one instance of
<code>org.apache.camel.util.jsse.SSLContextParameters</code> is supported per
HttpComponent. If you need to use 2 or more different instances, you need to
define a new HttpComponent per instance you need. See further below for more
details. See <a shape="rect"
href="#HTTP4-UsingtheJSSEConfigurationUtility">Using
the JSSE Configuration Utility</a>. Use the <code>sslContextParameters</code>
option instead.</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p><code>sslContextParameters</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.11.1:</strong>
Reference to a <code>org.apache.camel.util.jsse.SSLContextParameters</code> in
the <a shape="rect" href="registry.html">Registry</a>.
<strong>Important:</strong> Only one instance of
<code>org.apache.camel.util.jsse.SSLContextParameters</code> is supported per
HttpComponent. If you need to use 2 or more different instances, you need to
define a new HttpComponent per instance you need. See further below for more
details. See <a shape="rect"
href="#HTTP4-UsingtheJSSEConfigurationUtility">Using the JSSE Configuration
Utility</a>.</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p><code>x509HostnameVerifier</c
ode></p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p><code>BrowserCompatHostnameVerifier</code></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.7:</strong> You
can refer to a different
<code>org.apache.http.conn.ssl.X509HostnameVerifier</code> instance in the <a
shape="rect" href="registry.html">Registry</a> such as
<code>org.apache.http.conn.ssl.StrictHostnameVerifier</code> or
<code>org.apache.http.conn.ssl.AllowAllHostnameVerifier</code>.</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><strong>Camel 2.11:</strong>
<strong>Producer only</strong> Refers to a custom
<code>org.apache.camel.component.http4.UrlRewrite</code> which allows you to
rewrite urls when you bridge/proxy endpoints. 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>maxTotalConnections</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.14</strong>:
The maximum number of total connections that the connection manager has. If
this option is not set, camel will use the component's setting
instead.</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p><code>connectionsPerRoute</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.14</strong>:
The maximum number of connections per route. <span>If this option is not set,
camel will use the component's setting instead.</span></p></td></tr><tr><td co
lspan="1" rowspan="1"
class="confluenceTd"><p><code>authenticationPreemptive</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.11.3/2.12.2:</strong> If this option is true, camel-http4 sends preemptive
basic authentication to the server.</p></td></tr><tr><td colspan="1"
rowspan="1"
class="confluenceTd"><code>eagerCheckContentAvailable</code></td><td
colspan="1" rowspan="1" class="confluenceTd"><code>false</code></td><td
colspan="1" rowspan="1" class="confluenceTd"><strong>Camel
2.16:</strong><span> </span><strong>Consumer
only</strong><span> </span><span> Whether to eager check whether the
HTTP requests has content if the content-length header is 0 or not present.
</span><span> This can be turned on in case HTTP clients do not send
streamed data.</span></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><code>copyHeaders</code></td><td colspa
n="1" rowspan="1" class="confluenceTd"><code>true</code></td><td colspan="1"
rowspan="1" class="confluenceTd"><strong>Camel 2.16:</strong>  If
this option is true then IN exchange headers will be copied to OUT exchange
headers according to copy strategy. Setting this to false, allows to only
include the headers from the HTTP response (not propagating IN
headers).</td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><code>okStatusCodeRange</code></td><td colspan="1"
rowspan="1" class="confluenceTd"><code>200-299</code></td><td colspan="1"
rowspan="1" class="confluenceTd"><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.</td></tr><tr><td
colspan="1" rowspan="1"
class="confluenceTd"><code>ignoreResponseBody</code></td><td colspan="1"
rowspan="1" class="confluenceTd"><code>false</code></td><td colspan="1"
rowspan="1" class="confluenceTd"><str
ong>Camel 2.16:</strong> If this option is true, The http producer won't read
response body and cache the input stream.</td></tr></tbody></table></div><p>The
following authentication options can also be set on the HttpEndpoint:</p><h4
id="HTTP4-SettingBasicAuthenticationandProxy">Setting Basic Authentication and
Proxy</h4><p><strong>Before Camel 2.8.0</strong></p><div
class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1"
rowspan="1" class="confluenceTh"><p>Name</p></th><th colspan="1" rowspan="1"
class="confluenceTh"><p>Default Value</p></th><th colspan="1" rowspan="1"
class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1"
rowspan="1" class="confluenceTd"><p><code>username</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>password</code></p></td><td c
olspan="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>domain</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 domain name for
authentication.</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p><code>host</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 host name 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="confluenceTd"><p><code>proxyUsername</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>proxyPassword</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>proxyDomain</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 domain name</p></td></tr><tr><td
colspan="
1" rowspan="1" class="confluenceTd"><p><code>proxyNtHost</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 Nt host
name</p></td></tr></tbody></table></div><p><strong>Since Camel
2.8.0</strong></p><div class="table-wrap"><table
class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1"
class="confluenceTh"><p>Name</p></th><th colspan="1" rowspan="1"
class="confluenceTh"><p>Default Value</p></th><th colspan="1" rowspan="1"
class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1"
rowspan="1" class="confluenceTd"><p><code>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>The domain name for
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>The host name
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>The proxy host name</p></td></tr><tr><td
colspan="1" rowspan="1"
class="confluenceTd"><p><code>proxyAuthPort</code></p></td><td colspan="1" rows
pan="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="confluenceTd"><p><code>proxyAuthScheme</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 scheme, will fallback and use the
scheme from the endpoint if not configured.</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 authenticati
on</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p><code>proxyAuthDomain</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 domain name</p></td></tr><tr><td
colspan="1" rowspan="1"
class="confluenceTd"><p><code>proxyAuthNtHost</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 Nt host
name</p></td></tr></tbody></table></div><h3 id="HTTP4-MessageHeaders">Message
Headers</h3><div class="table-wrap"><table
class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1"
class="confluenceTh"><p>Name</p></th><th colspan="1" rowspan="1"
class="confluenceTh"><p>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.</p></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>Request URI's path, the header will be used
to build the request URI with the HTTP_URI.</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="confluenceT
d"><p><code>int</code></p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p>The HTTP response code from the external server. Is 200
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 IN and OUT message to provide a content type, such as
<code>text/html</code>.</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>String</code></p></td><td
colspan="1"
rowspan="1" class="confluenceTd"><p>The HTTP content encoding. Is set on both
the IN and OUT message to provide a content encoding, such as
<code>gzip</code>.</p></td></tr></tbody></table></div><h3
id="HTTP4-MessageBody">Message Body</h3><p>Camel will store the HTTP response
from the external server on the OUT body. All headers from the IN message will
be copied to the OUT message, so headers are preserved during routing.
Additionally Camel will add the HTTP response headers as well to the OUT
message headers.</p><h3 id="HTTP4-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 100..299, Camel regards it
as a success response.</li><li>Response code is in the range 300..399, Camel
regards it as a redirection response and will throw a
<code>HttpOperationFailedException</code> with the
information.</li><li><p>Response code is 400+, Camel regards it as an external
server failure and will th
row a <code>HttpOperationFailedException</code> 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,
<code>throwExceptionOnFailure</code>, can be set to <code>false</code> to
prevent the <code>HttpOperationFailedException</code> 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="HTTP4-HttpOperationFailedException">HttpOperationFailedException</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 <cod
e>java.lang.String</code>, if server provided a body as response</li></ul><h3
id="HTTP4-CallingusingGETorPOST">Calling using GET or POST</h3><p>The following
algorithm is used to determine whether the <code>GET</code> or
<code>POST</code> HTTP method should be used:<br clear="none"> 1. Use method
provided in header.<br clear="none"> 2. <code>GET</code> if query string is
provided in header.<br clear="none"> 3. <code>GET</code> if endpoint is
configured with a query string.<br clear="none"> 4. <code>POST</code> if there
is data to send (body is not null).<br clear="none"> 5. <code>GET</code>
otherwise.</p><h3
id="HTTP4-HowtogetaccesstoHttpServletRequestandHttpServletResponse">How to get
access to HttpServletRequest and HttpServletResponse</h3><p>You can get access
to these two using the Camel type converter system using<br clear="none">
<strong>NOTE</strong> You can get the request and response not just from the
processor after the camel-jetty or camel-cxf endpoint.</p><div class="co
de panel pdl" style="border-width: 1px;"><div class="codeContent panelContent
pdl">
+</div></div><p>Will by default use port 80 for HTTP and 443 for
HTTPS.</p><p>You can append query options to the URI in the following format,
<code>?option=value&option=value&...</code></p><div
class="confluence-information-macro
confluence-information-macro-information"><p class="title">camel-http4 vs
camel-jetty</p><span class="aui-icon aui-icon-small aui-iconfont-info
confluence-information-macro-icon"></span><div
class="confluence-information-macro-body"><p>You can only produce to endpoints
generated by the HTTP4 component. Therefore it should never be used as input
into your Camel Routes. To bind/expose an HTTP endpoint via a HTTP server as
input to a Camel route, use the <a shape="rect" href="jetty.html">Jetty
Component</a> instead.</p></div></div><h3
id="HTTP4-HttpComponentOptions">HttpComponent Options</h3><div
class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1"
rowspan="1" class="confluenceTh"><p>Name</p></th><th colspan="1" rowspan="1"
clas
s="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>maxTotalConnections</code></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p><code>200</code></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>The maximum number of
connections.</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p><code>connectionsPerRoute</code></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p><code>20</code></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>The maximum number of
connections per route.</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p><code>cookieStore</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.11.2/2.12.0:</strong> To
use a custom <code>org.apache.http.client.CookieStore</code>.
By default the <code>org.apache.http.impl.client.BasicCookieStore</code> is
used which is an in-memory only cookie store. Notice if
<code>bridgeEndpoint=true</code> then the cookie store is forced to be a noop
cookie store as cookies shouldn't be stored as we are just bridging (eg acting
as a proxy).</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>Reference to a
<code>org.apache.camel.component.http.HttpClientConfigurer</code> in the <a
shape="rect" href="registry.html">Registry</a>.</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
<code>org.apache.http.conn.ClientConnectionManager</co
de>.</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>To use a custom
<code>org.apache.camel.component.http.HttpBinding</code>.</p></td></tr><tr><td
colspan="1" rowspan="1"
class="confluenceTd"><p><code>httpContext</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.9.2:</strong> To use a
custom <code>org.apache.http.protocol.HttpContext</code> when executing
requests.</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p><code>sslContextParameters</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.8:</strong> To
use a custom <code>org.apache.camel.util.jsse.SSLContextParam
eters</code>. See <a shape="rect"
href="#HTTP4-UsingtheJSSEConfigurationUtility">Using the JSSE Configuration
Utility</a>. <strong>Important:</strong> Only one instance of
<code>org.apache.camel.util.jsse.SSLContextParameters</code> is supported per
HttpComponent. If you need to use 2 or more different instances, you need to
define a new HttpComponent per instance you need. See further below for more
details.</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p><code>x509HostnameVerifier</code></p></td><td
colspan="1" rowspan="1"
class="confluenceTd"><p><code>BrowserCompatHostnameVerifier</code></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.7:</strong> You
can refer to a different
<code>org.apache.http.conn.ssl.X509HostnameVerifier</code> instance in the <a
shape="rect" href="registry.html">Registry</a> such as
<code>org.apache.http.conn.ssl.StrictHostnameVerifier</code> or
<code>org.apache.http.conn.ssl.AllowAllHostnameVerifier</code>.<
/p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p><code>connectionTimeToLive</code></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p><code>-1</code></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.11.0:</strong>
The time for connection to live, the time unit is millisecond, the default
value is always keep alive.</p></td></tr></tbody></table></div><p> </p><h3
id="HTTP4-HttpEndpointOptions">HttpEndpoint Options</h3><div
class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1"
rowspan="1" class="confluenceTh"><p>Name</p></th><th colspan="1" rowspan="1"
class="confluenceTh"><p>Default Value</p></th><th colspan="1" rowspan="1"
class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1"
rowspan="1"
class="confluenceTd"><p><code>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>Opt
ion to disable throwing the <code>HttpOperationFailedException</code> 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 true, HttpProducer will
ignore the Exchange.HTTP_URI header, and use the endpoint's URI for request.
You may also set the <strong>throwExcpetionOnFailure</strong> to be false to
let the HttpProducer send all fault responses back. Also if set to true
HttpProducer and CamelServlet will skip the gzip processing if the
content-encoding is "gzip".</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p><code>clearExpiredCookies</code></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p><code>true</code></p></td><td
colspan="1" rowspan="1" cl
ass="confluenceTd"><p><strong>Camel 2.11.2/2.12.0:</strong> Whether to clear
expired cookies before sending the HTTP request. This ensures the cookies store
does not keep growing by adding new cookies which is newer removed when they
are expired.</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p><code>cookieStore</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.11.2/2.12.0:</strong> To
use a custom <code>org.apache.http.client.CookieStore</code>. By default the
<code>org.apache.http.impl.client.BasicCookieStore</code> is used which is an
in-memory only cookie store. Notice if <code>bridgeEndpoint=true</code> then
the cookie store is forced to be a noop cookie store as cookies shouldn't be
stored as we are just bridging (eg acting as a proxy).</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><td
colspan="1" rowspan="1" class="confluenceTd"><p>DefaultHttpBinding will copy
the request input stream into a stream cache and put it into the message body
if this option is false to support multiple reads, otherwise DefaultHttpBinding
will set the request input stream directly in the message
body.</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><strong>Camel 2.10.4:</strong>
Reference to a instance of
<code>org.apache.camel.spi.HeaderFilterStrategy</code> in the <a shape="rect"
href="registry.html">Registry</a>. It will be used to apply the custom
headerFilterStrategy on the new create HttpEndpoint.</p></td></tr><tr><td
colspan="1" rowspan="1"
class="confluenceTd"><p><code>httpBindingRef</code></p></td><td cols
pan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p><strong>Deprecated and will be
removed in Camel 3.0:</strong> Reference to a
<code>org.apache.camel.component.http.HttpBinding</code> in the <a shape="rect"
href="registry.html">Registry</a>. Use the <code>httpBinding</code> option
instead.</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>To use a custom
<code>org.apache.camel.component.http.HttpBinding</code>.</p></td></tr><tr><td
colspan="1" rowspan="1"
class="confluenceTd"><p><code>httpClientConfigurerRef</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>Deprecated and will be
removed in Camel 3.0:</strong> Reference to a <code>o
rg.apache.camel.component.http.HttpClientConfigurer</code> in the <a
shape="rect" href="registry.html">Registry</a>. Use the
<code>httpClientConfigurer</code> option instead.</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>Reference to a
<code>org.apache.camel.component.http.HttpClientConfigurer</code> in the <a
shape="rect" href="registry.html">Registry</a>.</p></td></tr><tr><td
colspan="1" rowspan="1"
class="confluenceTd"><p><code>httpContextRef</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>Deprecated and will be removed in
Camel 3.0:</strong> <strong>Camel 2.9.2:</strong> Reference to a custom
<code>org.apache.http.protocol.HttpContext</code> in the <a shape="rect"
href="registry.html"
>Registry</a>. Use the <code>httpContext</code> option
>instead.</p></td></tr><tr><td colspan="1" rowspan="1"
>class="confluenceTd"><p><code>httpContext</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.9.2:</strong> To use a
>custom <code>org.apache.http.protocol.HttpContext</code> when executing
>requests.</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/httpcomponents-core-ga/httpcore/apidocs/org/apache/http/params/BasicHttpParams.html">BasicHttpParams</a>.
> For instance <code>httpClient.soTimeout=5000</code> will set the
><code>SO_TIMEOUT</code> to 5 seconds. Look on the setter methods of the
>following para
meter beans for a complete reference: <a shape="rect" class="external-link"
href="http://hc.apache.org/httpcomponents-client-ga/httpclient/apidocs/org/apache/http/auth/params/AuthParamBean.html">AuthParamBean</a>,
<a shape="rect" class="external-link"
href="http://hc.apache.org/httpcomponents-client-ga/httpclient/apidocs/org/apache/http/client/params/ClientParamBean.html">ClientParamBean</a>,
<a shape="rect" class="external-link"
href="http://hc.apache.org/httpcomponents-client-ga/httpclient/apidocs/org/apache/http/conn/params/ConnConnectionParamBean.html">ConnConnectionParamBean</a>,
<a shape="rect" class="external-link"
href="http://hc.apache.org/httpcomponents-client-ga/httpclient/apidocs/org/apache/http/conn/params/ConnRouteParamBean.html">ConnRouteParamBean</a>,
<a shape="rect" class="external-link"
href="http://hc.apache.org/httpcomponents-client-ga/httpclient/apidocs/org/apache/http/cookie/params/CookieSpecParamBean.html">CookieSpecParamBean</a>,
<a shape="rect" class="extern
al-link"
href="http://hc.apache.org/httpcomponents-core-ga/httpcore/apidocs/org/apache/http/params/HttpConnectionParamBean.html">HttpConnectionParamBean</a>
and <a shape="rect" class="external-link"
href="http://hc.apache.org/httpcomponents-core-ga/httpcore/apidocs/org/apache/http/params/HttpProtocolParamBean.html">HttpProtocolParamBean</a></p><p><strong>Since
Camel 2.13.0: </strong>httpClient is changed to configure the
<span> </span><a shape="rect" class="external-link"
href="https://hc.apache.org/httpcomponents-client-4.3.x/httpclient/apidocs/org/apache/http/impl/client/HttpClientBuilder.html">HttpClientBuilder</a><span> and </span><a
shape="rect" class="external-link"
href="https://hc.apache.org/httpcomponents-client-4.3.x/httpclient/apidocs/org/apache/http/client/config/RequestConfig.Builder.html">RequestConfig.Builder</a>,
please check out API document for a complete reference. E.g. since this
version use <code>httpClient.socketTimeout=5000</code> for setting th
e socket timeout 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
<code>org.apache.http.conn.ClientConnectionManager</code>.</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>If enabled and an <a shape="rect"
href="exchange.html">Exchange</a> failed processing on the consumer side, and
if the caused <code>Exception</code> was send back serialized in the response
as a <code>application/x-java-serialized-object</code> content type (for
example using <a shape="rect" href="jetty.html">Jetty</a> or <a shape="rect"
href="servlet.html">SERVLET</a> Camel components). On the producer s
ide the exception will be deserialized and thrown as is, instead of the
<code>HttpOperationFailedException</code>. The caused exception is required to
be serialized.</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p><code>sslContextParametersRef</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>Deprecated and will be
removed in Camel 3.0:</strong> <strong>Camel 2.8:</strong> Reference to a
<code>org.apache.camel.util.jsse.SSLContextParameters</code> in the <a
shape="rect" href="registry.html">Registry</a>. <strong>Important:</strong>
Only one instance of
<code>org.apache.camel.util.jsse.SSLContextParameters</code> is supported per
HttpComponent. If you need to use 2 or more different instances, you need to
define a new HttpComponent per instance you need. See further below for more
details. See <a shape="rect"
href="#HTTP4-UsingtheJSSEConfigurationUtility">Using
the JSSE Configuration Utility</a>. Use the <code>sslContextParameters</code>
option instead.</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p><code>sslContextParameters</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.11.1:</strong>
Reference to a <code>org.apache.camel.util.jsse.SSLContextParameters</code> in
the <a shape="rect" href="registry.html">Registry</a>.
<strong>Important:</strong> Only one instance of
<code>org.apache.camel.util.jsse.SSLContextParameters</code> is supported per
HttpComponent. If you need to use 2 or more different instances, you need to
define a new HttpComponent per instance you need. See further below for more
details. See <a shape="rect"
href="#HTTP4-UsingtheJSSEConfigurationUtility">Using the JSSE Configuration
Utility</a>.</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p><code>x509HostnameVerifier</c
ode></p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p><code>BrowserCompatHostnameVerifier</code></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.7:</strong> You
can refer to a different
<code>org.apache.http.conn.ssl.X509HostnameVerifier</code> instance in the <a
shape="rect" href="registry.html">Registry</a> such as
<code>org.apache.http.conn.ssl.StrictHostnameVerifier</code> or
<code>org.apache.http.conn.ssl.AllowAllHostnameVerifier</code>.</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><strong>Camel 2.11:</strong>
<strong>Producer only</strong> Refers to a custom
<code>org.apache.camel.component.http4.UrlRewrite</code> which allows you to
rewrite urls when you bridge/proxy endpoints. 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>maxTotalConnections</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.14</strong>:
The maximum number of total connections that the connection manager has. If
this option is not set, camel will use the component's setting
instead.</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p><code>connectionsPerRoute</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.14</strong>:
The maximum number of connections per route. <span>If this option is not set,
camel will use the component's setting instead.</span></p></td></tr><tr><td co
lspan="1" rowspan="1"
class="confluenceTd"><p><code>authenticationPreemptive</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.11.3/2.12.2:</strong> If this option is true, camel-http4 sends preemptive
basic authentication to the server.</p></td></tr><tr><td colspan="1"
rowspan="1"
class="confluenceTd"><code>eagerCheckContentAvailable</code></td><td
colspan="1" rowspan="1" class="confluenceTd"><code>false</code></td><td
colspan="1" rowspan="1" class="confluenceTd"><strong>Camel
2.16:</strong><span> </span><strong>Consumer
only</strong><span> </span><span> Whether to eager check whether the
HTTP requests has content if the content-length header is 0 or not present.
</span><span> This can be turned on in case HTTP clients do not send
streamed data.</span></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><code>copyHeaders</code></td><td colspa
n="1" rowspan="1" class="confluenceTd"><code>true</code></td><td colspan="1"
rowspan="1" class="confluenceTd"><strong>Camel 2.16:</strong>  If
this option is true then IN exchange headers will be copied to OUT exchange
headers according to copy strategy. Setting this to false, allows to only
include the headers from the HTTP response (not propagating IN
headers).</td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><code>okStatusCodeRange</code></td><td colspan="1"
rowspan="1" class="confluenceTd"><code>200-299</code></td><td colspan="1"
rowspan="1" class="confluenceTd"><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.</td></tr><tr><td
colspan="1" rowspan="1"
class="confluenceTd"><code>ignoreResponseBody</code></td><td colspan="1"
rowspan="1" class="confluenceTd"><code>false</code></td><td colspan="1"
rowspan="1" class="confluenceTd"><str
ong>Camel 2.16:</strong> If this option is true, The http producer won't read
response body and cache the input stream.</td></tr></tbody></table></div><p>The
following authentication options can also be set on the HttpEndpoint:</p><h4
id="HTTP4-SettingBasicAuthenticationandProxy">Setting Basic Authentication and
Proxy</h4><p><strong>Before Camel 2.8.0</strong></p><div
class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1"
rowspan="1" class="confluenceTh"><p>Name</p></th><th colspan="1" rowspan="1"
class="confluenceTh"><p>Default Value</p></th><th colspan="1" rowspan="1"
class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1"
rowspan="1" class="confluenceTd"><p><code>username</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>password</code></p></td><td c
olspan="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>domain</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 domain name for
authentication.</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p><code>host</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 host name 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="confluenceTd"><p><code>proxyUsername</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>proxyPassword</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>proxyDomain</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 domain name</p></td></tr><tr><td
colspan="
1" rowspan="1" class="confluenceTd"><p><code>proxyNtHost</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 Nt host
name</p></td></tr></tbody></table></div><p><strong>Since Camel
2.8.0</strong></p><div class="table-wrap"><table
class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1"
class="confluenceTh"><p>Name</p></th><th colspan="1" rowspan="1"
class="confluenceTh"><p>Default Value</p></th><th colspan="1" rowspan="1"
class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1"
rowspan="1" class="confluenceTd"><p><code>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>The domain name for
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>The host name
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>The proxy host name</p></td></tr><tr><td
colspan="1" rowspan="1"
class="confluenceTd"><p><code>proxyAuthPort</code></p></td><td colspan="1" rows
pan="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="confluenceTd"><p><code>proxyAuthScheme</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 scheme, will fallback and use the
scheme from the endpoint if not configured.</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 authenticati
on</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p><code>proxyAuthDomain</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 domain name</p></td></tr><tr><td
colspan="1" rowspan="1"
class="confluenceTd"><p><code>proxyAuthNtHost</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 Nt host
name</p></td></tr></tbody></table></div><h3 id="HTTP4-MessageHeaders">Message
Headers</h3><div class="table-wrap"><table
class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1"
class="confluenceTh"><p>Name</p></th><th colspan="1" rowspan="1"
class="confluenceTh"><p>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.</p></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>Request URI's path, the header will be used
to build the request URI with the HTTP_URI.</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="confluenceT
d"><p><code>int</code></p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p>The HTTP response code from the external server. Is 200
for OK.</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p><span><code>Exchange.HTTP_RESPONSE_TEXT</code><br
clear="none"></span></p></td><td colspan="1" rowspan="1"
class="confluenceTd"><code>String</code></td><td colspan="1" rowspan="1"
class="confluenceTd"><span>The HTTP response text from the external
server.</span></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 IN and OUT message to provide a content
type, such as <code>text/html</code>.</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>String</code></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>The HTTP content encoding. Is
set on both the IN and OUT message to provide a content encoding, such as
<code>gzip</code>.</p></td></tr></tbody></table></div><h3
id="HTTP4-MessageBody">Message Body</h3><p>Camel will store the HTTP response
from the external server on the OUT body. All headers from the IN message will
be copied to the OUT message, so headers are preserved during routing.
Additionally Camel will add the HTTP response headers as well to the OUT
message headers.</p><h3 id="HTTP4-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 100..299, Camel regards it as a success
response.</li><li>Response code is in the range 300..399, Camel regards it as a
redirection response and will throw a <code>HttpOperationFailedException</code>
with the information.</li><li><p>Response code is 400+, Camel regards it as an
external server failure and will throw a
<code>HttpOperationFailedException</code> 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,
<code>throwExceptionOnFailure</code>, can be set to <code>false</code> to
prevent the <code>HttpOperationFailedException</code> 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="HTTP4-HttpOperationFailedException">HttpOperationFailedException</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 <code>java.lang.String</code>, if server provided a body as
response</li></ul><h3 id="HTTP4-CallingusingGETorPOST">Calling using GET or
POST</h3><p>The following algorithm is used to determine whether the
<code>GET</code> or <code>POST</code> HTTP method should be used:<br
clear="none"> 1. Use method provided in header.<br clear="none"> 2.
<code>GET</code> if query string is provided in header.<br clear="none"> 3.
<code>GET</code> if endpoint is configured with a query string.<br
clear="none"> 4. <code>POST</code> if there is data to send (body is not
null).<br clear="none"> 5. <code>GET</code> otherwise.</p><h3
id="HTTP4-HowtogetaccesstoHttpServletRequestandHttpSe
rvletResponse">How to get access to HttpServletRequest and
HttpServletResponse</h3><p>You can get access to these two using the Camel type
converter system using<br clear="none"> <strong>NOTE</strong> You can get the
request and response not just from the processor after the camel-jetty or
camel-cxf endpoint.</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[HttpServletRequest request =
exchange.getIn().getBody(HttpServletRequest.class);
HttpServletRequest response =
exchange.getIn().getBody(HttpServletResponse.class);
]]></script>