...
Java DSL | Spring DSL |
---|
Code Block |
---|
from("direct:start")
.setHeader(Exchange.HTTP_METHOD, constant("POST"))
.to("http://www.google.com");
|
| Code Block |
---|
| <from uri="direct:start"/>
<setHeader headerName="CamelHttpMethod">
<constant>POST</constant>
</setHeader>
<to uri="http://www.google.com"/>
<to uri="mock:results"/>
|
|
HttpEndpoint Options
Div |
---|
class | confluenceTableSmall |
---|
|
Wiki Markup |
---|
{div:class=confluenceTableSmall}
|| Name || Default Value || Description ||
| {{throwExceptionOnFailure}} | {{true}} | Option to disable throwing the {{HttpOperationFailedException}} in case of failed responses from the remote server. This allows you to get all responses regardless of the HTTP status code. |
| {{bridgeEndpoint}} | {{false}} | 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. \\
*Camel 2.3:* If the option is true, HttpProducer and CamelServlet will skip the gzip processing if the content-encoding is "gzip". |
| {{disableStreamCache}} | {{false}} | 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 body. |
| {{httpBindingRef}} | {{null}} | *Deprecated and will be removed in Camel 3.0:* Reference to a {{ Name | Default Value | Description |
---|
throwExceptionOnFailure | true | Option to disable throwing the HttpOperationFailedException in case of failed responses from the remote server. This allows you to get all responses regardless of the HTTP status code. | bridgeEndpoint | false | 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. Camel 2.3: If the option is true, HttpProducer and CamelServlet will skip the gzip processing if the content-encoding is "gzip". | disableStreamCache | false | 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 body. | httpBindingRef | null | Deprecated and will be removed in Camel 3.0: Reference to a |
org.apache.camel.component.http.HttpBinding
|
}} [] {{}} |
| {{httpBinding}} | {{null}} | *Camel | httpBinding | null | Camel 2.3: |
* {{org.apache.camel.component.http.HttpBinding
|
}} []. |
| {{httpClientConfigurerRef}} | {{null}} | *Deprecated and will be removed in Camel . | httpClientConfigurerRef | null | Deprecated and will be removed in Camel 3.0: |
* {{org.apache.camel.component.http.HttpClientConfigurer
|
}} [] {{}} |
| {{httpClientConfigurer}} | {{null}} | *Camel | httpClientConfigurer | null | Camel 2.3: |
* {{org.apache.camel.component.http.HttpClientConfigurer
|
}} []. |
| {{}} | {{null}} | Setting options on the [HttpClientParams|http://hc.apache.org/httpclient-3.x/apidocs/org/apache/commons/httpclient/params/HttpClientParams.html]. For instance {{ | null | Setting options on the HttpClientParams. For instance httpClient.soTimeout=5000 |
}} {{}} |
| {{clientConnectionManager}} | {{null}} | To use a custom {{ | clientConnectionManager | null | To use a custom org.apache.http.conn.ClientConnectionManager |
}}. |
| {{transferException}} | {{false}} | *Camel . | transferException | false | Camel 2.6: |
* [] caused {{Exception}} was send back serialized in the response as a {{caused Exception was send back serialized in the response as a application/x-java-serialized-object |
}} [] [] {{HttpOperationFailedException
|
}} |
| {{headerFilterStrategy}} | {{null}} | *Camel | headerFilterStrategy | null | Camel 2.11: |
* {{org.apache.camel.spi.HeaderFilterStrategy
|
}} [] |
| {{urlRewrite}} | {{null}} | *Camel | urlRewrite | null | Camel 2.11: |
* *Producer only* Refers to a custom {{ Producer only Refers to a custom org.apache.camel.component.http.UrlRewrite |
}} [] [ ] |
{div} |
Authentication and Proxy
The following authentication options can also be set on the HttpEndpoint:
Div |
---|
class | confluenceTableSmall |
---|
|
Name | Default Value | Description |
---|
authMethod | null | Authentication method, either as Basic , Digest or NTLM . | authMethodPriority | null | Priority of authentication methods. Is a list separated with comma. For example: Basic,Digest to exclude NTLM . | authUsername | null | Username for authentication | authPassword | null | Password for authentication | authDomain | null | Domain for NTML authentication | authHost | null | Optional host for NTML authentication | proxyHost | null | The proxy host name | proxyPort | null | The proxy port number | proxyAuthMethod | null | Authentication method for proxy, either as Basic , Digest or NTLM . | proxyAuthUsername | null | Username for proxy authentication | proxyAuthPassword | null | Password for proxy authentication | proxyAuthDomain | null | Domain for proxy NTML authentication | proxyAuthHost | null | Optional host for proxy NTML authentication |
|
Wiki Markup |
---|
{div:class=confluenceTableSmall}
|| Name || Default Value || Description ||
| {{authMethod}} | {{null}} | Authentication method, either as {{Basic}}, {{Digest}} or {{NTLM}}. |
| {{authMethodPriority}} | {{null}} | Priority of authentication methods. Is a list separated with comma. For example: {{Basic,Digest}} to exclude {{NTLM}}. |
| {{authUsername}} | {{null}} | Username for authentication |
| {{authPassword}} | {{null}} | Password for authentication |
| {{authDomain}} | {{null}} | Domain for NTML authentication |
| {{authHost}} | {{null}} | Optional host for NTML authentication |
| {{proxyHost}} | {{null}} | The proxy host name |
| {{proxyPort}} | {{null}} | The proxy port number |
| {{proxyAuthMethod}} | {{null}} | Authentication method for proxy, either as {{Basic}}, {{Digest}} or {{NTLM}}. |
| {{proxyAuthUsername}} | {{null}} | Username for proxy authentication |
| {{proxyAuthPassword}} | {{null}} | Password for proxy authentication |
| {{proxyAuthDomain}} | {{null}} | Domain for proxy NTML authentication |
| {{proxyAuthHost}} | {{null}} | Optional host for proxy NTML authentication |
{div} |
When using authentication you must provide the choice of method for the authMethod
or authProxyMethod
options.
You can configure the proxy and authentication details on either the HttpComponent
or the HttpEndoint
. Values provided on the HttpEndpoint
will take precedence over HttpComponent
. Its most likely best to configure this on the HttpComponent
which allows you to do this once.
The HTTP component uses convention over configuration which means that if you have not explicit set a authMethodPriority
then it will fallback and use the select(ed) authMethod
as priority as well. So if you use authMethod.Basic
then the auhtMethodPriority
will be Basic
only.
HttpComponent Options
Div |
---|
class | confluenceTableSmall |
---|
|
Wiki Markup |
---|
{div:class=confluenceTableSmall}
|| Name || Default Value || Description ||
| {{httpBinding}} | {{null}} | To use a custom {{ Name | Default Value | Description |
---|
httpBinding | null | To use a custom |
org.apache.camel.component.http.HttpBinding
|
}}. |
| {{httpClientConfigurer}} | {{null}} | To use a custom {{. | httpClientConfigurer | null | To use a custom org.apache.camel.component.http.HttpClientConfigurer |
}}. |
| {{httpConnectionManager}} | {{null}} | To use a custom {{. | httpConnectionManager | null | To use a custom org.apache.commons.httpclient.HttpConnectionManager |
}}. |
| {{httpConfiguration}} | {{null}} | To use a custom {{. | httpConfiguration | null | To use a custom org.apache.camel.component.http.HttpConfiguration |
}} |
{div} |
HttpConfiguration
contains all the options listed in the table above under the section HttpConfiguration - Setting Authentication and Proxy.
Div |
---|
class | confluenceTableSmall |
---|
|
Wiki Markup |
---|
{div:class=confluenceTableSmall}
|| Name || Type || Description ||
| {{}} | {{String}} | URI to call. Will override existing URI set directly on the endpoint. |
| {{ | String | URI to call. Will override existing URI set directly on the endpoint. | Exchange.HTTP_METHOD
|
}} | {{String}} | HTTP Method / Verb to use | String | HTTP Method / Verb to use (GET/POST/PUT/DELETE/HEAD/OPTIONS/TRACE) |
|
| {{}} | {{String}} | Request * * exchange.getFromEndpoint().getEndpointUri(); |
|
| {{_QUERY}} | {{String}} | URI parameters. Will override existing URI parameters set directly on the endpoint. |
| {{_QUERY
| String | URI parameters. Will override existing URI parameters set directly on the endpoint. | Exchange.HTTP_RESPONSE_CODE
|
}} | {{int}} | The HTTP response code from the external server. Is 200 for OK. |
| {{ | int | The HTTP response code from the external server. Is 200 for OK. | Exchange.HTTP_CHARACTER_ENCODING
|
}} | {{String}} | Character encoding. |
| {{ | String | Character encoding. | Exchange.CONTENT_TYPE
|
}} | {{String}} | The HTTP content type. Is set on both the IN and OUT message to provide a content type, such as {{text/html}}. |
| {{ | String | The HTTP content type. Is set on both the IN and OUT message to provide a content type, such as text/html . | Exchange.CONTENT_ENCODING
|
}} | {{String}} | The HTTP content encoding. Is set on both the IN and OUT message to provide a content encoding, such as {{gzip}}. |
| {{ | String | The HTTP content encoding. Is set on both the IN and OUT message to provide a content encoding, such as gzip . | Exchange.HTTP_SERVLET_REQUEST
|
}} | {{HttpServletRequest}} | The {{HttpServletRequest}} object. |
| {{ | HttpServletRequest | The HttpServletRequest object. | Exchange.HTTP_SERVLET_RESPONSE
|
}} | {{HttpServletResponse}} | The {{HttpServletResponse}} object. |
| {{ | HttpServletResponse | The HttpServletResponse object. | Exchange.HTTP_PROTOCOL_VERSION
|
}} | {{String}} | *Camel * |
{div} |
The header name above are constants. For the spring DSL you have to use the value of the constant instead of the name.
...