Modified: websites/production/camel/content/http.html
==============================================================================
--- websites/production/camel/content/http.html (original)
+++ websites/production/camel/content/http.html Tue May 26 10:20:40 2015
@@ -134,7 +134,7 @@ from("direct:start")
 <to uri="http://www.google.com"/>
 <to uri="mock:results"/>
 ]]></script>
-</div></div></td></tr></tbody></table></div><h3 
id="HTTP-HttpEndpointOptions">HttpEndpoint Options</h3><div 
class="confluenceTableSmall"><div class="table-wrap"><table 
class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Name</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Default Value</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" 
rowspan="1" 
class="confluenceTd"><p><code>throwExceptionOnFailure</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>true</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>Option to disable throwing the 
<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="confluenc
 eTd"><p><code>false</code></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>If the option is true , HttpProducer will ignore the 
Exchange.HTTP_URI header, and use the endpoint's URI for request. You may also 
set the * throwExceptionOnFailure* to be false to let the HttpProducer send all 
the fault response back. <br clear="none" class="atl-forced-newline"> 
<strong>Camel 2.3:</strong> If the option is 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>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 message body if this option is 
false to support read it twice, otherwise DefaultHttpBinding will set the 
request input stream direct into the message bo
 dy.</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 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><strong>Camel 2.3:</strong> Reference to a 
<code>org.apache.camel.component.http.HttpBinding</code> in the <a shape="rect" 
href="registry.html">Registry</a>.</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>org.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><strong>Camel 2.3:</strong> 
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>httpClient.XXX</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" 
rowspan="1" cl
 ass="confluenceTd"><p>Setting options on the <a shape="rect" 
class="external-link" 
href="http://hc.apache.org/httpclient-3.x/apidocs/org/apache/commons/httpclient/params/HttpClientParams.html";>HttpClientParams</a>.
 For instance <code>httpClient.soTimeout=5000</code> will set the 
<code>SO_TIMEOUT</code> 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><strong>Camel 2.6:</strong> If enabled and 
an <a shape="rect" href="exchange.html">Exchange</a> failed processing on the 
 consumer side, and if the caused <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><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.11:</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>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.http.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></tbody></table></div></div><h3 
id="HTTP-AuthenticationandProxy">Authentication and Proxy</h3><p>The following 
authentication options can also be set on the HttpEndpoint:</p><div 
class="confluenceTableSmall"><div class="table-wrap"><table 
class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Name</p></
 th><th colspan="1" rowspan="1" class="confluenceTh"><p>Default 
Value</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>authMethod</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>Authentication method, either 
as <code>Basic</code>, <code>Digest</code> or 
<code>NTLM</code>.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>authMethodPriority</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>Priority of authentication methods. Is a 
list separated with comma. For example: <code>Basic,Digest</code> to exclude 
<code>NTLM</code>.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>authUsername</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p
 ><code>null</code></p></td><td colspan="1" rowspan="1" 
 >class="confluenceTd"><p>Username for authentication</p></td></tr><tr><td 
 >colspan="1" rowspan="1" 
 >class="confluenceTd"><p><code>authPassword</code></p></td><td colspan="1" 
 >rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" 
 >rowspan="1" class="confluenceTd"><p>Password for 
 >authentication</p></td></tr><tr><td colspan="1" rowspan="1" 
 >class="confluenceTd"><p><code>authDomain</code></p></td><td colspan="1" 
 >rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" 
 >rowspan="1" class="confluenceTd"><p>Domain for NTML 
 >authentication</p></td></tr><tr><td colspan="1" rowspan="1" 
 >class="confluenceTd"><p><code>authHost</code></p></td><td colspan="1" 
 >rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" 
 >rowspan="1" class="confluenceTd"><p>Optional host for NTML 
 >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>proxyAuthMethod</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>Authentication method for proxy, either as 
<code>Basic</code>, <code>Digest</code> or 
<code>NTLM</code>.</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 pro
 xy 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>Domain for proxy NTML 
authentication</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>proxyAuthHost</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>Optional host for proxy NTML 
authentication</p></td></tr></tbody></table></div></div><p>When using 
authentication you <strong>must</strong> provide the choice of method for the 
<code>authMethod</code>
  or <code>authProxyMethod</code> options.<br clear="none"> You can configure 
the proxy and authentication details on either the <code>HttpComponent</code> 
or the <code>HttpEndoint</code>. Values provided on the 
<code>HttpEndpoint</code> will take precedence over <code>HttpComponent</code>. 
Its most likely best to configure this on the <code>HttpComponent</code> which 
allows you to do this once.</p><p>The <a shape="rect" href="http.html">HTTP</a> 
component uses convention over configuration which means that if you have not 
explicit set a <code>authMethodPriority</code> then it will fallback and use 
the select(ed) <code>authMethod</code> as priority as well. So if you use 
<code>authMethod.Basic</code> then the <code>auhtMethodPriority</code> will be 
<code>Basic</code> only.</p><p>Note: camel-http is based on HttpClient v3.x and 
as such has only <a shape="rect" class="external-link" 
href="http://hc.apache.org/httpclient-3.x/authentication.html#NTLM";>limited 
support</a> for what is know
 n as NTLMv1, the early version of the NTLM protocol. It does not support 
NTLMv2 at all." camel-http4 has support for NTLMv2.</p><h3 
id="HTTP-HttpComponentOptions">HttpComponent Options</h3><div 
class="confluenceTableSmall"><div class="table-wrap"><table 
class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Name</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Default Value</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>httpBinding</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>To use a custom 
<code>org.apache.camel.component.http.HttpBinding</code>.</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 
colspa
 n="1" rowspan="1" class="confluenceTd"><p>To use a custom 
<code>org.apache.camel.component.http.HttpClientConfigurer</code>.</p></td></tr><tr><td
 colspan="1" rowspan="1" 
class="confluenceTd"><p><code>httpConnectionManager</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>To use a custom 
<code>org.apache.commons.httpclient.HttpConnectionManager</code>.</p></td></tr><tr><td
 colspan="1" rowspan="1" 
class="confluenceTd"><p><code>httpConfiguration</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>To use a custom 
<code>org.apache.camel.component.http.HttpConfiguration</code></p></td></tr></tbody></table></div></div><p><code>HttpConfiguration</code>
 contains all the options listed in the table above under the section 
<em>HttpConfiguration - Setting Authentication and Proxy</em>.</p><h3 
id="HTTP-MessageH
 eaders">Message Headers</h3><div class="confluenceTableSmall"><div 
class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" 
rowspan="1" class="confluenceTh"><p>Name</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Type</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>Exchange.HTTP_URI</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>URI to call. Will override 
existing URI set directly on the endpoint.</p></td></tr><tr><td colspan="1" 
rowspan="1" 
class="confluenceTd"><p><code>Exchange.HTTP_METHOD</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>HTTP Method / Verb to use 
(GET/POST/PUT/DELETE/HEAD/OPTIONS/TRACE)</p></td></tr><tr><td colspan="1" 
rowspan="1" class="con
 fluenceTd"><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. <strong>Camel 2.3.0:</strong> If 
the path is start with "/", http producer will try to find the relative path 
based on the Exchange.HTTP_BASE_URI header or the 
exchange.getFromEndpoint().getEndpointUri();</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 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="confluen
 ceTd"><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><tr><td 
colspan="1" rowspan="1" 
class="confluenceTd"><p><code>Exchange.HTTP_SERVLET_REQUEST</code></p></td><td 
colspan="1" rowspan="1" 
class="confluenceTd"><p><code>HttpServletRequest</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>The <code>HttpServletRequest</code> 
object.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>Exchange.HTTP_SERVLET_RESPONSE</code></p></td><td 
colspan="1" rowspan="1" 
class="confluenceTd"><p><code>HttpServletResponse</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>The 
<code>HttpServletResponse</code> object.</p></td></tr><tr><td colspan="1" 
rowspan="1" 
class="confluenceTd"><p><code>Exchange.HTTP_PROTOCOL_VERSION</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td 
colspan="1" rowspan="1" class="confluence
 Td"><p><strong>Camel 2.5:</strong> You can set the http protocol version with 
this header, eg. "HTTP/1.0". If you didn't specify the header, HttpProducer 
will use the default value 
"HTTP/1.1"</p></td></tr></tbody></table></div></div><p>The header name above 
are constants. For the spring DSL you have to use the value of the constant 
instead of the name.</p><h3 id="HTTP-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="HTTP-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 thr
 ow 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="aui-message success shadowed 
information-macro">
+</div></div></td></tr></tbody></table></div><h3 
id="HTTP-HttpEndpointOptions">HttpEndpoint Options</h3><div 
class="confluenceTableSmall"><div class="table-wrap"><table 
class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Name</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Default Value</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" 
rowspan="1" 
class="confluenceTd"><p><code>throwExceptionOnFailure</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>true</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>Option to disable throwing the 
<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="confluenc
 eTd"><p><code>false</code></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>If the option is true , HttpProducer will ignore the 
Exchange.HTTP_URI header, and use the endpoint's URI for request. You may also 
set the * throwExceptionOnFailure* to be false to let the HttpProducer send all 
the fault response back. <br clear="none" class="atl-forced-newline"> 
<strong>Camel 2.3:</strong> If the option is 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>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 message body if this option is 
false to support read it twice, otherwise DefaultHttpBinding will set the 
request input stream direct into the message bo
 dy.</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 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><strong>Camel 2.3:</strong> Reference to a 
<code>org.apache.camel.component.http.HttpBinding</code> in the <a shape="rect" 
href="registry.html">Registry</a>.</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>org.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><strong>Camel 2.3:</strong> 
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>httpClient.XXX</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" 
rowspan="1" cl
 ass="confluenceTd"><p>Setting options on the <a shape="rect" 
class="external-link" 
href="http://hc.apache.org/httpclient-3.x/apidocs/org/apache/commons/httpclient/params/HttpClientParams.html";>HttpClientParams</a>.
 For instance <code>httpClient.soTimeout=5000</code> will set the 
<code>SO_TIMEOUT</code> 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><strong>Camel 2.6:</strong> If enabled and 
an <a shape="rect" href="exchange.html">Exchange</a> failed processing on the 
 consumer side, and if the caused <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><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.11:</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>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.http.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></tbody></table></div></div><h3 
id="HTTP-AuthenticationandProxy">Authentication and Proxy</h3><p>The following 
authentication options can also be set on the HttpEndpoint:</p><div 
class="confluenceTableSmall"><div class="table-wrap"><table 
class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Name</p></
 th><th colspan="1" rowspan="1" class="confluenceTh"><p>Default 
Value</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>authMethod</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>Authentication method, either 
as <code>Basic</code>, <code>Digest</code> or 
<code>NTLM</code>.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>authMethodPriority</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>Priority of authentication methods. Is a 
list separated with comma. For example: <code>Basic,Digest</code> to exclude 
<code>NTLM</code>.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>authUsername</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p
 ><code>null</code></p></td><td colspan="1" rowspan="1" 
 >class="confluenceTd"><p>Username for authentication</p></td></tr><tr><td 
 >colspan="1" rowspan="1" 
 >class="confluenceTd"><p><code>authPassword</code></p></td><td colspan="1" 
 >rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" 
 >rowspan="1" class="confluenceTd"><p>Password for 
 >authentication</p></td></tr><tr><td colspan="1" rowspan="1" 
 >class="confluenceTd"><p><code>authDomain</code></p></td><td colspan="1" 
 >rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" 
 >rowspan="1" class="confluenceTd"><p>Domain for NTML 
 >authentication</p></td></tr><tr><td colspan="1" rowspan="1" 
 >class="confluenceTd"><p><code>authHost</code></p></td><td colspan="1" 
 >rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" 
 >rowspan="1" class="confluenceTd"><p>Optional host for NTML 
 >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>proxyAuthMethod</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>Authentication method for proxy, either as 
<code>Basic</code>, <code>Digest</code> or 
<code>NTLM</code>.</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 pro
 xy 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>Domain for proxy NTML 
authentication</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>proxyAuthHost</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>Optional host for proxy NTML 
authentication</p></td></tr></tbody></table></div></div><p>When using 
authentication you <strong>must</strong> provide the choice of method for the 
<code>authMethod</code>
  or <code>authProxyMethod</code> options.<br clear="none"> You can configure 
the proxy and authentication details on either the <code>HttpComponent</code> 
or the <code>HttpEndoint</code>. Values provided on the 
<code>HttpEndpoint</code> will take precedence over <code>HttpComponent</code>. 
Its most likely best to configure this on the <code>HttpComponent</code> which 
allows you to do this once.</p><p>The <a shape="rect" href="http.html">HTTP</a> 
component uses convention over configuration which means that if you have not 
explicit set a <code>authMethodPriority</code> then it will fallback and use 
the select(ed) <code>authMethod</code> as priority as well. So if you use 
<code>authMethod.Basic</code> then the <code>auhtMethodPriority</code> will be 
<code>Basic</code> only.</p><p>Note: camel-http is based on HttpClient v3.x and 
as such has only <a shape="rect" class="external-link" 
href="http://hc.apache.org/httpclient-3.x/authentication.html#NTLM";>limited 
support</a> for what is know
 n as NTLMv1, the early version of the NTLM protocol. It does not support 
NTLMv2 at all. Camel-http4 has support for NTLMv2.</p><h3 
id="HTTP-HttpComponentOptions">HttpComponent Options</h3><div 
class="confluenceTableSmall"><div class="table-wrap"><table 
class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Name</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Default Value</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>httpBinding</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>To use a custom 
<code>org.apache.camel.component.http.HttpBinding</code>.</p></td></tr><tr><td 
colspan="1" rowspan="1" 
class="confluenceTd"><p><code>httpClientConfigurer</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td 
colspan
 ="1" rowspan="1" class="confluenceTd"><p>To use a custom 
<code>org.apache.camel.component.http.HttpClientConfigurer</code>.</p></td></tr><tr><td
 colspan="1" rowspan="1" 
class="confluenceTd"><p><code>httpConnectionManager</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>To use a custom 
<code>org.apache.commons.httpclient.HttpConnectionManager</code>.</p></td></tr><tr><td
 colspan="1" rowspan="1" 
class="confluenceTd"><p><code>httpConfiguration</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>To use a custom 
<code>org.apache.camel.component.http.HttpConfiguration</code></p></td></tr></tbody></table></div></div><p><code>HttpConfiguration</code>
 contains all the options listed in the table above under the section 
<em>HttpConfiguration - Setting Authentication and Proxy</em>.</p><h3 
id="HTTP-MessageHe
 aders">Message Headers</h3><div class="confluenceTableSmall"><div 
class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" 
rowspan="1" class="confluenceTh"><p>Name</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Type</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>Exchange.HTTP_URI</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>URI to call. Will override 
existing URI set directly on the endpoint.</p></td></tr><tr><td colspan="1" 
rowspan="1" 
class="confluenceTd"><p><code>Exchange.HTTP_METHOD</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>HTTP Method / Verb to use 
(GET/POST/PUT/DELETE/HEAD/OPTIONS/TRACE)</p></td></tr><tr><td colspan="1" 
rowspan="1" class="conf
 luenceTd"><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. <strong>Camel 2.3.0:</strong> If 
the path is start with "/", http producer will try to find the relative path 
based on the Exchange.HTTP_BASE_URI header or the 
exchange.getFromEndpoint().getEndpointUri();</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></t
 d><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="confluenc
 eTd"><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><tr><td 
colspan="1" rowspan="1" 
class="confluenceTd"><p><code>Exchange.HTTP_SERVLET_REQUEST</code></p></td><td 
colspan="1" rowspan="1" 
class="confluenceTd"><p><code>HttpServletRequest</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>The <code>HttpServletRequest</code> 
object.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>Exchange.HTTP_SERVLET_RESPONSE</code></p></td><td 
colspan="1" rowspan="1" 
class="confluenceTd"><p><code>HttpServletResponse</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>The 
<code>HttpServletResponse</code> object.</p></td></tr><tr><td colspan="1" 
rowspan="1" 
class="confluenceTd"><p><code>Exchange.HTTP_PROTOCOL_VERSION</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td 
colspan="1" rowspan="1" class="confluenceT
 d"><p><strong>Camel 2.5:</strong> You can set the http protocol version with 
this header, eg. "HTTP/1.0". If you didn't specify the header, HttpProducer 
will use the default value 
"HTTP/1.1"</p></td></tr></tbody></table></div></div><p>The header name above 
are constants. For the spring DSL you have to use the value of the constant 
instead of the name.</p><h3 id="HTTP-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="HTTP-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 thro
 w 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="aui-message success shadowed 
information-macro">
                     <p class="title">throwExceptionOnFailure</p>
                             <span class="aui-icon icon-success">Icon</span>
                 <div class="message-content">


Reply via email to