Modified: websites/production/camel/content/http4.html
==============================================================================
--- websites/production/camel/content/http4.html (original)
+++ websites/production/camel/content/http4.html Fri Dec  2 01:18:41 2016
@@ -85,7 +85,7 @@
        <tbody>
         <tr>
         <td valign="top" width="100%">
-<div class="wiki-content maincontent"><h2 id="HTTP4-HTTP4Component">HTTP4 
Component</h2><p><strong>Available as of Camel 2.3</strong></p><p>The 
<strong>http4:</strong> component provides HTTP based <a shape="rect" 
href="endpoint.html">endpoints</a> for calling external HTTP resources (as a 
client to call external servers using HTTP).</p><p>Maven users will need to add 
the following dependency to their <code>pom.xml</code> for this 
component:</p><div class="code panel pdl" style="border-width: 1px;"><div 
class="codeContent panelContent pdl">
+<div class="wiki-content maincontent"><h2 id="HTTP4-HTTP4Component">HTTP4 
Component</h2><p><strong>Available as of Camel 
2.3</strong></p><p>The&#160;<strong><code>camel-http4</code></strong> component 
provides HTTP based <a shape="rect" href="endpoint.html">endpoints</a> for 
calling external HTTP resources (as a client to call external servers using 
HTTP).</p><p>Maven users will need to add the following dependency to their 
<strong><code>pom.xml</code></strong> for this component:</p><div class="code 
panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
 <script class="brush: xml; gutter: false; theme: Default" 
type="syntaxhighlighter"><![CDATA[&lt;dependency&gt;
     &lt;groupId&gt;org.apache.camel&lt;/groupId&gt;
     &lt;artifactId&gt;camel-http4&lt;/artifactId&gt;
@@ -93,16 +93,16 @@
     &lt;!-- use the same version as your Camel core version --&gt;
 &lt;/dependency&gt;
 ]]></script>
-</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">
+</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&#160;<strong><code>camel-http</code></strong> 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&amp;option=value&amp;...</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><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>allowJavaSerializedObject</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.1/2.15.5:</strong> Whether to allow java serialization when a request uses 
context-type=application/x-java-serialized-object. This is by default turned 
off. 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><p>&#160;</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>Option 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" class="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. <strong>Camel 
2.17:</strong>&#160;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><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>.&#160;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 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>org.apache.camel.component.http.HttpBinding</code> in t
 he <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><s><code>httpClientConfigurerRef</code></s></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><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">Registry</a>. Use the 
<code>httpClientConfigurer</code> option instead.</s></p></td></tr><tr><td 
colspan="1" rowspan="1" class="confluenceTd"><p><c
 ode>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><s><code>httpContextRef</code></s></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><s><strong>Deprecated and removed in Camel 
2.17:</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.</s></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</co
 de></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 parameter 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" cl
 ass="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="external-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/httpco
 
mponents-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>&#160;</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>&#160;and&#160;</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 the 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 
colsp
 an="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 side 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><s><code>sslContextParametersRef</code></s></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><s><strong>Deprecated and 
removed in Camel 2.17:</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.</s></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</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 dif
 ferent <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="confluenceT
 d"><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 
colspan="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"><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><strong>Camel 
2.16:</strong><span>&#160;</span><strong>Consumer 
only</strong><span>&#160;</span><span>&#160;Whether to eager check whether the 
HTTP requests has content if the content-length header is 0 or not present. 
</span><span>&#160;This can be turned on in case HTTP clients do not send 
streamed data.</span></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>&#160;&#160;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).</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>&#160;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 true, The http producer won't read response body and cache the input 
stream.</p></td></tr><tr><
 td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>useSystemProperties</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.18:</strong> If 
this option is true, The HTTP client will use System Properties to set some 
parameters of his configuration</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><span style="font-family: 
monospace;">mapHttpMessageBody</span></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.18:</strong> If this option is true 
then IN exchange Body will be mapped to HTTP body. Setting this to false will 
avoid the HTTP mapping.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>mapHttpMessageHeaders</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>true</code></p></td><td 
colspan="1" row
 span="1" class="confluenceTd"><p><strong>Camel 2.18: </strong>If this option 
is true then IN exchange Headers will be mapped to HTTP headers. Setting this 
to false will avoid the HTTP Headers mapping.</p></td></tr><tr><td colspan="1" 
rowspan="1" 
class="confluenceTd"><p><code>mapHttpMessageFormUrlEncodedBody</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.18: </strong>If 
this option is true then IN exchange Form Encoded body of the exchange will be 
mapped to HTTP. Setting this to false will avoid the HTTP Form Encoded body 
mapping.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>connectionClose</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.18:&#160;</strong>If this 
option is true, the producer will add a Connection Close header to H
 TTP Request</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><code>cookieHandler</code></td><td colspan="1" rowspan="1" 
class="confluenceTd"><code>null</code></td><td colspan="1" rowspan="1" 
class="confluenceTd"><strong>Camel 2.19:</strong> Configure a cookie handler to 
maintain a HTTP session</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 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>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>Us
 ername 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" 
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>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>pr
 oxyAuthPassword</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 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. 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.</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><c
 ode>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 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_ENCO
 DING</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><p>Before setting the 
above, you may wish to read&#160;
 <a shape="rect" 
href="how-to-avoid-sending-some-or-all-message-headers.html">How to avoid 
sending some or all message headers</a> to prevent inadvertent data "leaks" 
from your application.</p><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><p>&#160;</p><div 
class="confluence-information-macro 
confluence-information-macro-information"><p class="title">Using System 
Properties</p><span class="aui-icon aui-icon-small aui-iconfont-info 
confluence-information-macro-icon"></span><div 
class="confluence-information-macro-body"><p>When setting useSystemProperties 
to true, the HTTP Client will look for the following System Properties and it 
will use it:</p><ul><li>ssl.TrustManagerFactory.algorithm</li><li><a 
shape="rect" 
 class="external-link" href="http://javax.net/"; 
rel="nofollow">javax.net</a>.ssl.trustStoreType</li><li><a shape="rect" 
class="external-link" href="http://javax.net/"; 
rel="nofollow">javax.net</a>.ssl.trustStore</li><li><a shape="rect" 
class="external-link" href="http://javax.net/"; 
rel="nofollow">javax.net</a>.ssl.trustStoreProvider</li><li><a shape="rect" 
class="external-link" href="http://javax.net/"; 
rel="nofollow">javax.net</a>.ssl.trustStorePassword</li><li>java.home</li><li>ssl.KeyManagerFactory.algorithm</li><li><a
 shape="rect" class="external-link" href="http://javax.net/"; 
rel="nofollow">javax.net</a>.ssl.keyStoreType</li><li><a shape="rect" 
class="external-link" href="http://javax.net/"; 
rel="nofollow">javax.net</a>.ssl.keyStore</li><li><a shape="rect" 
class="external-link" href="http://javax.net/"; 
rel="nofollow">javax.net</a>.ssl.keyStoreProvider</li><li><a shape="rect" 
class="external-link" href="http://javax.net/"; 
rel="nofollow">javax.net</a>.ssl.keyStorePassword</li><li>htt
 
p.proxyHost</li><li>http.proxyPort</li><li>http.nonProxyHosts</li><li>http.keepAlive</li><li>http.maxConnections</li></ul></div></div><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</c
 ode>, 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-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="code 
panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div><p>Will by default use port&#160;<strong><code>80</code></strong> 
for&#160;<strong><code>HTTP</code></strong> 
and&#160;<strong><code>443</code></strong> for 
<strong><code>HTTPS</code>.</strong></p><p>You can append query options to the 
URI in the following format, 
<strong><code>?option=value&amp;option=value&amp;...</code></strong></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" 
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>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><t
 d colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 
2.11.2/2.12.0:</strong> To use a custom 
<strong><code>org.apache.http.client.CookieStore</code></strong>. By default 
the <strong><code>org.apache.http.impl.client.BasicCookieStore</code></strong> 
is used which is an in-memory only cookie store. Notice if 
<strong><code>bridgeEndpoint=true</code></strong> then the cookie store is 
forced to be a NOOP cookie store as cookies shouldn't be stored as we are just 
bridging e.g., 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 
<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>clientConnectionMa
 nager</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>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>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 <strong><code>org.apache.http.protocol.HttpContext</code></strong> when 
executing requests.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenc
 eTd"><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 
<strong><code>org.apache.camel.util.jsse.SSLContextParameters</code></strong>. 
See <a shape="rect" href="#HTTP4-UsingtheJSSEConfigurationUtility">Using the 
JSSE Configuration Utility</a>. <strong>Important:</strong> Only one instance 
of <strong><code>org.apache.camel.util.jsse.SSLContextParameters</code> 
</strong>is supported per <strong><code>HttpComponent</code></strong>. If you 
need to use 2 or more different instances, you need to define a 
new&#160;<strong><code>HttpComponent</code></strong> 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 
 ><strong><code>org.apache.http.conn.ssl.X509HostnameVerifier</code></strong> 
 >instance in the <a shape="rect" href="registry.html">Registry</a> such as 
 ><strong><code>org.apache.http.conn.ssl.StrictHostnameVerifier</code></strong> 
 >or 
 ><strong><code>org.apache.http.conn.ssl.AllowAllHostnameVerifier</code></strong>.</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><tr><td 
 >colspan="1" rowspan="1" 
 >class="confluenceTd"><p><code>allowJavaSerializedObject</code></p></td><td 
 >colspan="1" rowspan="1" 
 >class="confluenceTd"><p><code>false</code></p></td><td col
 span="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>.
 This is by default turned off. 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><p>&#160;</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" cla
 ss="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 
true,&#160;<strong><code>HttpProducer</code></strong> will ignore 
the&#160;<strong><code>Exchange.HTTP_URI</code></strong> header, and use the 
endpoint's URI for request. You may also set the 
<strong><code>throwExcpetionOnFailure</code></strong> to be false to let 
the&#160;<strong><code>HttpProducer</code></strong> send all fault responses 
back. Also if set to true&#160;<strong><code>HttpProducer</code></strong> 
and&#160;<strong><code>CamelServlet</code></strong> will skip the gzip 
processing if the content-encoding 
 is <strong><code>gzip</code></strong>.</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" class="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 <strong><code>org.apache.http.client.CookieStore</code></strong>. 
By default the 
<strong><code>org.apache.http.impl.client.BasicCookieStore</code></strong> is 
used which is an in-memory only cookie store. No
 tice if <strong><code>bridgeEndpoint=true</code></strong> then the cookie 
store is forced to be a noop cookie store as cookies shouldn't be stored as we 
are just bridging e.g., 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><strong><code>DefaultHttpBinding</code></strong>&#160;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&#160;<strong><code>DefaultHttpBinding</code></strong> will set the 
request input stream directly in the message body. <strong>Camel 
2.17:</strong>&#160;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><co
 de>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 <strong><code>org.apache.camel.spi.HeaderFilterStrategy</code></strong> in 
the <a shape="rect" href="registry.html">Registry</a>.&#160;It will be used to 
apply the custom&#160;<strong><code>headerFilterStrategy</code></strong> on the 
new create <strong><code>HttpEndpoint</code></strong>.</p></td></tr><tr><td 
colspan="1" rowspan="1" 
class="confluenceTd"><p><code>httpBindingRef</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 
<strong><code>org.apache.camel.component.http.HttpBinding</code></strong> in 
the <a shape="rect" href="registry.html">Registry</a>. Use the 
<strong><code>httpBinding</co
 de></strong> 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 
<strong><code>org.apache.camel.component.http.HttpBinding</code></strong>.</p></td></tr><tr><td
 colspan="1" rowspan="1" 
class="confluenceTd"><p><s><code>httpClientConfigurerRef</code></s></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><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">Registry</a>. Use the 
<code>httpClientConfigurer</code> option instead.</s></p></td></tr><tr><td 
colspan="1" rowspan="1" 
class="confluenceTd"><p><code>httpClientConfigurer</code></p></td><td 
colspan="1" r
 owspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>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><s><code>httpContextRef</code></s></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><s><strong>Deprecated and removed in Camel 
2.17:</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.</s></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 
<strong><code>org.apache.http.protocol.HttpContext</code></strong> 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 <strong><code>httpClient.soTimeout=5000</code></strong> will set 
the <strong><code>SO_TIMEOUT</code></strong> 
to&#160;<strong><code>5</code></strong> seconds. Look on the setter methods of 
the following parameter 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/AuthParamBe
 an.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="external-link" 
href="http://hc.apache.org/httpcomponents-core-ga/httpcore/apidocs/org/apache/http/params/HttpConnectionParamBean.html";>HttpConnectionParamBean</a>
 and <a shape="rect" class="ex
 ternal-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>&#160;</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>&#160;and&#160;</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 <strong><code>httpClient.socketTimeout=5000</code></strong> for 
setting the 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 
<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>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 <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). On the producer 
side the exception will be deserialized and thrown as is, instead of the 
<strong><code>HttpOperationFailedException</code></strong>. Th
 e caused exception is required to be serialized.</p></td></tr><tr><td 
colspan="1" rowspan="1" 
class="confluenceTd"><p><s><code>sslContextParametersRef</code></s></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><s><strong>Deprecated and removed in Camel 
2.17:</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.</s></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 
<strong><code>org.apache.camel.util.jsse.SSLContextParameters</code></strong> 
in the <a shape="rect" href="registry.html">Registry</a>. 
<strong>Important:</strong> Only one instance of 
<code>o<strong>rg.apache.camel.util.jsse.SSLContextParameters</strong></code> 
is supported per <strong><code>HttpComponent</code></strong>. If you need to 
use two or more different instances, you need to define a 
new&#160;<strong><code>HttpComponent</code></strong> 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</cod
 e></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 
<strong><code>org.apache.http.conn.ssl.X509HostnameVerifier</code></strong> 
instance in the <a shape="rect" href="registry.html">Registry</a> such as 
<strong><code>org.apache.http.conn.ssl.StrictHostnameVerifier</code></strong> 
or 
<strong><code>org.apache.http.conn.ssl.AllowAllHostnameVerifier</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><strong>Camel 2.11:</strong> 
<strong>Producer only</strong> Refers to a custom 
<strong><code>org.apache.camel.component.http4.UrlRewrite</code></strong> which 
allows you to rewrite URLs when you bridge/proxy endpoints. See more det
 ails 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 u
 se the component's setting instead.</span></p></td></tr><tr><td colspan="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,&#160;<strong><code>camel-http4</code></strong> sends preemptive basic 
authentication to the server.</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><strong>Camel 
2.16:</strong><span>&#160;</span><strong>Consumer 
only</strong><span>&#160;</span><span>&#160;Whether to eager check whether the 
HTTP requests has content if the content-length header is 0 or not present. 
</span><span>&#160;This can be turned on in case HTTP clients do not send strea
 med data.</span></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>&#160;&#160;If 
this option is true then&#160;<strong><code>IN</code></strong> exchange headers 
will be copied to&#160;<strong><code>OUT</code></strong> exchange headers 
according to copy strategy. Setting this to false, allows to only include the 
headers from the HTTP response (not 
propagating&#160;<strong><code>IN</code></strong> 
headers).</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>okStatusCodeRange</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>200-299</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 
2.16:</strong>&#160;The status codes which is considered a success response. 
The values are inclusive. The range must be d
 efined 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 true, The HTTP producer won't read response body and cache the 
input stream.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>useSystemProperties</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.18:</strong> If 
this option is true, The HTTP client will use System Properties to set some 
parameters of his configuration</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><span style="font-family: 
monospace;">mapHttpMessageBody</span></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.18:</strong> If this option is true 
then&#160;<strong><code>IN</code></strong> exchange Body will be mapped to HTTP 
body. Setting this to false will avoid the HTTP mapping.</p></td></tr><tr><td 
colspan="1" rowspan="1" 
class="confluenceTd"><p><code>mapHttpMessageHeaders</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.18: </strong>If 
this option is true then&#160;<strong><code>IN</code></strong> exchange Headers 
will be mapped to HTTP headers. Setting this to false will avoid the HTTP 
Headers mapping.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>mapHttpMessageFormUrlEncodedBody</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.18: </strong>If 
this option is tr
 ue then&#160;<strong><code>IN</code></strong> exchange Form Encoded body of 
the exchange will be mapped to HTTP. Setting this to false will avoid the HTTP 
Form Encoded body mapping.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>connectionClose</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.18:&#160;</strong>If this 
option is true, the producer will add a Connection Close header to HTTP 
Request</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><code>cookieHandler</code></td><td colspan="1" rowspan="1" 
class="confluenceTd"><code>null</code></td><td colspan="1" rowspan="1" 
class="confluenceTd"><strong>Camel 2.19:</strong> Configure a cookie handler to 
maintain a HTTP session</td></tr></tbody></table></div><p>The following 
authentication options can also be set on the 
<strong><code>HttpEndpoint</code></strong>:</p><h4 id="HTTP4-S
 ettingBasicAuthenticationandProxy">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 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>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" 
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>proxyAuthScheme</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>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 
authentication</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 pro
 xy 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. 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.</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 
<strong><code>HTTP_URI</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 HTTP response code from the external server. 
Is&#160;<strong><code>200</code></strong> for 
<strong><code>OK</code></strong>.</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"><p><code>String</code></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>The HTTP response text from the external 
server.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>Exchange.HTTP_CHARACTER_ENCODING</code></p></td><td
 colspan="1" rowspan="1" 
class="confluenceTd"><p><code>String</code></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Character encoding.</p></td></tr><tr><td colspan="1" 
rowspan="1" 
class="confluenceTd"><p><code>Exchange.CONTENT_TYPE</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>
 String</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The 
HTTP content type. Is set on both the&#160;<strong><code>IN</code></strong> 
and&#160;<strong><code>OUT</code></strong> message to provide a content type, 
such as <strong><code>text/html</code></strong>.</p></td></tr><tr><td 
colspan="1" rowspan="1" 
class="confluenceTd"><p><code>Exchange.CONTENT_ENCODING</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>The HTTP content encoding. Is 
set on both the&#160;<strong><code>IN</code></strong> 
and&#160;<strong><code>OUT</code></strong> message to provide a content 
encoding, such as 
<strong><code>gzip</code></strong>.</p></td></tr></tbody></table></div><p>Before
 setting the above, you may wish to read&#160;<a shape="rect" 
href="how-to-avoid-sending-some-or-all-message-headers.html">How to avoid 
sending some or all message headers</a> to prevent inadvertent data "leaks" fr
 om your application.</p><h3 id="HTTP4-MessageBody">Message Body</h3><p>Camel 
will store the HTTP response from the external server on 
the&#160;<strong><code>OUT</code></strong> body. All headers from 
the&#160;<strong><code>IN</code></strong> message will be copied to 
the&#160;<strong><code>OUT</code></strong> message, so headers are preserved 
during routing. Additionally Camel will add the HTTP response headers as well 
to the&#160;<strong><code>OUT</code></strong> message 
headers.</p><p>&#160;</p><div class="confluence-information-macro 
confluence-information-macro-information"><p class="title">Using System 
Properties</p><span class="aui-icon aui-icon-small aui-iconfont-info 
confluence-information-macro-icon"></span><div 
class="confluence-information-macro-body"><p>When 
setting&#160;<code>useSystemProperties=trues</code>, the HTTP Client will look 
for the following System Properties and it will use 
it:</p><ul><li><code>java.home</code></li><li><code>javax.net.ssl.trustStoreType</cod
 
e></li><li><code>javax.net.ssl.trustStore</code></li><li><code>javax.net.ssl.trustStoreProvider</code></li><li><code>javax.net.ssl.trustStorePassword</code></li><li><code>javax.net.ssl.keyStore</code></li><li><code>javax.net.ssl.keyStoreProvider</code></li><li><code>javax.net.ssl.keyStorePassword</code></li><li><code>javax.net.ssl.keyStoreType</code></li><li><code>http.proxyHost</code></li><li><code>http.proxyPort</code></li><li><code>http.nonProxyHosts</code></li><li><code>http.keepAlive</code></li><li><code>http.maxConnections</code></li><li><code>ssl.KeyManagerFactory.algorithm</code></li><li><code>ssl.TrustManagerFactory.algorithm</code></li></ul></div></div><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 <code>100..299</code>, Camel regards it as a success 
response.</li><li>Response code is in the range <code>300..399</code>, Camel 
regards it as a redirection respo
 nse and will throw a 
<strong><code>HttpOperationFailedException</code></strong> with the 
information.</li><li><p>Response code is <code>400+</code>, 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>HttpOperationFailedException</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="HTTP4-HttpOperationFailedException">HttpO
 perationFailedException</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="HTTP4-CallingusingGETorPOST">Calling 
using&#160;<code>GET</code> or&#160;<code>POST</code></h3><p>The following 
algorithm is used to determine whether the <strong><code>GET</code></strong> or 
<strong><code>POST</code></strong> HTTP method should be used:<br clear="none"> 
1. Use method provided in header.<br clear="none"> 2. 
<strong><code>GET</code></strong> if query string is provided in header.<br 
clear="none"> 3. <strong><code>GET</code></strong> if endpoint is configured 
with a query string.<br clear="none"> 4. <strong><code>POST</code></strong> if 
there is data to send (body is not null).<br clear="none"> 5.
  <strong><code>GET</code></strong> otherwise.</p><h3 
id="HTTP4-HowtogetaccesstoHttpServletRequestandHttpServletResponse">How to get 
access to&#160;<code>HttpServletRequest</code> 
and&#160;<code>HttpServletResponse</code></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&#160;<strong><code>camel-jetty</code></strong> 
or&#160;<strong><code>camel-cxf</code></strong> 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>
-</div></div><h3 id="HTTP4-ConfiguringURItocall">Configuring URI to 
call</h3><p>You can set the HTTP producer's URI directly form the endpoint URI. 
In the route below, Camel will call out to the external server, 
<code>oldhost</code>, using HTTP.</p><div class="code panel pdl" 
style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div><h3 id="HTTP4-ConfiguringURItoCall">Configuring URI to 
Call</h3><p>You can set the HTTP producer's URI directly form the endpoint URI. 
In the route below, Camel will call out to the external server, 
<strong><code>oldhost</code></strong>, using HTTP.</p><div class="code panel 
pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
 <script class="brush: java; gutter: false; theme: Default" 
type="syntaxhighlighter"><![CDATA[from(&quot;direct:start&quot;)
-           .to(&quot;http4://oldhost&quot;);
+  .to(&quot;http4://oldhost&quot;);
 ]]></script>
 </div></div><p>And the equivalent Spring sample:</p><div class="code panel 
pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
 <script class="brush: xml; gutter: false; theme: Default" 
type="syntaxhighlighter"><![CDATA[&lt;camelContext 
xmlns=&quot;http://activemq.apache.org/camel/schema/spring&quot;&gt;
@@ -112,12 +112,12 @@ HttpServletRequest response = exchange.g
   &lt;/route&gt;
 &lt;/camelContext&gt;
 ]]></script>
-</div></div><p>You can override the HTTP endpoint URI by adding a header with 
the key, <code>Exchange.HTTP_URI</code>, on the message.</p><div class="code 
panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div><p>You can override the HTTP endpoint URI by adding a header with 
the key, <strong><code>Exchange.HTTP_URI</code></strong>, on the 
message.</p><div class="code panel pdl" style="border-width: 1px;"><div 
class="codeContent panelContent pdl">
 <script class="brush: java; gutter: false; theme: Default" 
type="syntaxhighlighter"><![CDATA[from(&quot;direct:start&quot;)
   .setHeader(Exchange.HTTP_URI, constant(&quot;http://newhost&quot;))
   .to(&quot;http4://oldhost&quot;);
 ]]></script>
-</div></div><p>In the sample above Camel will call the <span 
class="nolink">http://newhost</span> despite the endpoint is configured with 
http4://oldhost.<br clear="none">If the http4 endpoint is working in bridge 
mode, it will ignore the message header of 
<code>Exchange.HTTP_URI</code>.</p><h3 
id="HTTP4-ConfiguringURIParameters">Configuring URI Parameters</h3><p>The 
<strong>http</strong> producer supports URI parameters to be sent to the HTTP 
server. The URI parameters can either be set directly on the endpoint URI or as 
a header with the key <code>Exchange.HTTP_QUERY</code> on the message.</p><div 
class="code panel pdl" style="border-width: 1px;"><div class="codeContent 
panelContent pdl">
+</div></div><p>In the sample above Camel will call the <span 
class="nolink">http://newhost</span> despite the endpoint is configured with 
http4://oldhost.<br clear="none">If the http4 endpoint is working in bridge 
mode, it will ignore the message header of 
<strong><code>Exchange.HTTP_URI</code></strong>.</p><h3 
id="HTTP4-ConfiguringURIParameters">Configuring URI Parameters</h3><p>The 
<strong>http</strong> producer supports URI parameters to be sent to the HTTP 
server. The URI parameters can either be set directly on the endpoint URI or as 
a header with the key <strong><code>Exchange.HTTP_QUERY</code></strong> on the 
message.</p><div class="code panel pdl" style="border-width: 1px;"><div 
class="codeContent panelContent pdl">
 <script class="brush: java; gutter: false; theme: Default" 
type="syntaxhighlighter"><![CDATA[from(&quot;direct:start&quot;)
   .to(&quot;http4://oldhost?order=123&amp;detail=short&quot;);
 ]]></script>
@@ -126,7 +126,7 @@ HttpServletRequest response = exchange.g
   .setHeader(Exchange.HTTP_QUERY, 
constant(&quot;order=123&amp;detail=short&quot;))
   .to(&quot;http4://oldhost&quot;);
 ]]></script>
-</div></div><h3 
id="HTTP4-Howtosetthehttpmethod(GET/PATCH/POST/PUT/DELETE/HEAD/OPTIONS/TRACE)totheHTTPproducer">How
 to set the http method (GET/PATCH/POST/PUT/DELETE/HEAD/OPTIONS/TRACE) to the 
HTTP producer</h3><div class="confluence-information-macro 
confluence-information-macro-information"><p class="title">Using the http PATCH 
method</p><span class="aui-icon aui-icon-small aui-iconfont-info 
confluence-information-macro-icon"></span><div 
class="confluence-information-macro-body"><p>The http PATCH method is supported 
starting with Camel 2.11.3 / 2.12.1.</p></div></div><p>The HTTP4 component 
provides a way to set the HTTP request method by setting the message header. 
Here is an example:</p><div class="code panel pdl" style="border-width: 
1px;"><div class="codeContent panelContent pdl">
+</div></div><h3 
id="HTTP4-HowToSetTheHTTPMethod(GET/PATCH/POST/PUT/DELETE/HEAD/OPTIONS/TRACE)ontheHTTPProducer">How
 To Set The HTTP Method (&#160;<code>GET</code> /&#160;<code>PATCH</code> 
/&#160;<code>POST</code> /&#160;<code>PUT</code> /&#160;<code>DELETE</code> 
/&#160;<code>HEAD</code> /&#160;<code>OPTIONS</code> /&#160;<code>TRACE</code> 
) on the HTTP Producer</h3><div class="confluence-information-macro 
confluence-information-macro-information"><p class="title">Using the http PATCH 
method</p><span class="aui-icon aui-icon-small aui-iconfont-info 
confluence-information-macro-icon"></span><div 
class="confluence-information-macro-body"><p>The 
HTTP&#160;<strong><code>PATCH</code></strong> verb is supported starting with 
Camel 2.11.3 / 2.12.1.</p></div></div><p>The HTTP4 component provides a way to 
set the HTTP request method by setting the message header. Here is an 
example:</p><div class="code panel pdl" style="border-width: 1px;"><div 
class="codeContent panelContent pdl">
 <script class="brush: java; gutter: false; theme: Default" 
type="syntaxhighlighter"><![CDATA[from(&quot;direct:start&quot;)
   .setHeader(Exchange.HTTP_METHOD, 
constant(org.apache.camel.component.http4.HttpMethods.POST))
   .to(&quot;http4://www.google.com&quot;)
@@ -135,7 +135,7 @@ HttpServletRequest response = exchange.g
 </div></div><p>The method can be written a bit shorter using the string 
constants:</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[.setHeader(&quot;CamelHttpMethod&quot;, 
constant(&quot;POST&quot;))
 ]]></script>
-</div></div><p>And the equivalent Spring sample:</p><div class="code panel 
pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div><p>And the equivalent Spring example:</p><div class="code panel 
pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
 <script class="brush: xml; gutter: false; theme: Default" 
type="syntaxhighlighter"><![CDATA[&lt;camelContext 
xmlns=&quot;http://activemq.apache.org/camel/schema/spring&quot;&gt;
   &lt;route&gt;
     &lt;from uri=&quot;direct:start&quot;/&gt;
@@ -147,11 +147,11 @@ HttpServletRequest response = exchange.g
   &lt;/route&gt;
 &lt;/camelContext&gt;
 ]]></script>

[... 110 lines stripped ...]


Reply via email to