# Element Summary

Element | Description | Class
--- | --- | ---
basicAuthCredentials | This class contains parameters needed to send basic authentication credentials | org.apache.servicemix.http.BasicAuthCredentials
component | an HTTP JBI component. The component is responsible for hosting HTTP endpoints. | org.apache.servicemix.http.HttpComponent
configuration | configuration for the Jetty instance used by an HTTP endpoint | org.apache.servicemix.http.HttpConfiguration
consumer | Plain HTTP consumer endpoint. This endpoint can be used to handle plain HTTP request (without SOAP) or to be able to process the request in a non standard way. For HTTP requests, a WSDL2 HTTP binding can be used. | org.apache.servicemix.http.endpoints.HttpConsumerEndpoint
endpoint | the base element for all HTTP endpoints | org.apache.servicemix.http.HttpEndpoint
provider | A plain HTTP provider. This type of endpoint can be used to send non-SOAP requests to HTTP endpoints. | org.apache.servicemix.http.endpoints.HttpProviderEndpoint
proxyParameters | parameters needed to send HTTP requests through a proxy | org.apache.servicemix.http.ProxyParameters
serializedMarshaler | a consumer-side marshaler for handling Java serialized content | org.apache.servicemix.http.endpoints.SerializedMarshaler
soap-consumer | an HTTP consumer endpoint that is optimized to work with SOAP messages | org.apache.servicemix.http.endpoints.HttpSoapConsumerEndpoint
soap-provider | an HTTP provider endpoint that is optimaized to work with SOAP messages. | org.apache.servicemix.http.endpoints.HttpSoapProviderEndpoint
sslParameters | This class contains all parameters needed to create an SSL server or client socket. | org.apache.servicemix.http.SslParameters

# Element Detail

## Element: basicAuthCredentials

Attribute | Type | Description
--- | --- | ---
domain | xs:string | the domain to use for NTLM authentication
host | xs:string | the host to use for NTLM authentication
password | xs:string | the password to use for authentication
username | xs:string | the username to use for authentication

## Element: component

Attribute | Type | Description
--- | --- | ---
host | xs:string | the host name
path | xs:string |
port | xs:integer | the port number. The default is 80.
protocol | xs:string | the protocol being used. Valid values are `http:` and `https:`

Element | Type | Description
--- | --- | ---
authenticationService | <spring:bean/> | the authentication service object used by a component
client | <spring:bean/> | the Apache Commons HTTP client used by a component
configuration | configuration | the HTTP configuration information used to establish HTTP connections
connectionPool | <spring:bean/> | a Jetty HTTP client instance maintaining a thread pool for client-side connections
endpoints | (consumer | endpoint | provider | soap-consumer | soap-provider)* | the endpoints hosted by a component
executorFactory | <spring:bean/> | The executor factory to use to create the executor. If none is provided, one will be retrieved from the JBI container when the component is deployed into ServiceMix 3.x, or a default implementation will be used.
keystoreManager | <spring:bean/> | the keystore manager object used by a component
server | <spring:bean/> |

## Element: configuration

Attribute | Type | Description
--- | --- | ---
authenticationServiceName | xs:string | the JNDI name of the authentication service object. The default is java:comp/env/smx/AuthenticationService.
clientSoTimeout | xs:integer | the number of miliseconds representign shared JettyClient soTimeout. The default is 10000.
connectorMaxIdleTime | xs:integer | the number of miliseconds a connection will be idle before timing out. The default is 30000.
consumerProcessorSuspendTime | xs:integer | the number of miliseconds Jetty will susspend the processing of a request. The default is 60000.
jettyClientPerProvider | xs:boolean | Specifies if HTTP provider endpoints share a Jetty client or use per-endpoint Jetty clients. The default setting is
jettyClientThreadPoolSize | xs:integer | the maximum number of threads in the client-side threadpool. The default setting is 16.
jettyConnectorClassName | xs:string | the classname of the Jetty connector used by the endpoint
jettyManagement | xs:boolean |
jettyThreadPoolSize | xs:integer | the maximum number of threads in the server-side threadpool. The default setting is 255.
keystoreManagerName | xs:string | the JNDI name of the keystore manager object. The default is java:comp/env/smx/KeystoreManager.
managed | xs:boolean |
mapping | xs:string |
maxConnectionsPerAddress | xs:integer | the number of the maximum connections per address that JettyClient creates for each destination. The default is 32.
maxConnectionsPerHost | xs:integer | the maximum number of concurent connections allowed from a host. The default is 65536.
maxTotalConnections | xs:integer | the maximum number of total concurent connections allowed to an endpoint. The default is 65536.
preemptiveAuthentication | xs:boolean | Specifies of the httpclient uses preemptive authentication which can save performance. The default is false
providerExpirationTime | xs:integer | the number of miliseconds the provider will wait for a response (read timeout). The default is 300000.
proxyHost | xs:string | the default proxy host name used to send requests. This can be overridden by each endpoint.
proxyPort | xs:integer | the default proxy port used to send requests. This can be overridden by each endpoint.
retryCount | xs:integer | the number of times a request will be attempted without succees before an error is created. The default is 3. If streaming is enabled, the value will always be 0.
soLingerTime | xs:integer | the connector soLingerTime in milliseconds. The default is -1.
streamingEnabled | xs:boolean | Specifies if client-side requests use HTTP streaming.
useHostPortForAuthScope | xs:boolean | If true the AuthScope of the httpclient is bind to a special host and port from the url. The default is false
wantHeadersFromHttpIntoExchange | xs:boolean | Specifies if the HTTP provider will copy the HTTP request headers into the JBI exchange. The default is

Element | Type | Description
--- | --- | ---
authenticationService | <spring:bean/> | the authentication service object. This property takes precedence over
keystoreManager | <spring:bean/> | the keystore object. This property takes precedence over

## Element: consumer

Attribute | Type | Description
--- | --- | ---
authMethod | xs:string | a string naming the scheme used for authenticating users
defaultMep | xs:string | a URI representing the endpoint's default MEP. The default is `JbiConstants.IN_OUT`.
endpoint | xs:string | Get the endpoint implementation.
interfaceName | xs:QName | Get the qualified name of the endpoint interface.
lateResponseStrategy | xs:string | Set the strategy to be used for handling a late response from the ESB (i.e. a response that arrives after the HTTP request has timed out). Defaults to `error` `error` will terminate the exchange with an ERROR status and log an exception for the late response `warning` will end the exchange with a DONE status and log a warning for the late response instead
locationURI | xs:string | the URI at which the endpoint listens for requests
rewriteSoapAddress | xs:boolean | Toggles the rewriting of the soap address based on the request info. When active, the soap address in the wsdl will be updated according to the protocol, host and port of the request. This is useful when listening on 0.0.0.0 or when behind a NAT (or reverse-proxy in some cases). This function only works on the main wsdl, not in imported wsdl-parts. This means the service with its port must be declared in the main wsdl. By default it is activated.
service | xs:QName | Get the service qualified name of the endpoint.
targetEndpoint | xs:string | the name of the endpoint to which requests are sent
targetInterface | xs:QName | the QName of the interface to which requests are sent
targetOperation | xs:QName | the QName of the operation to which requests are sent
targetService | xs:QName | the QName of the service to which requests are sent
targetUri | xs:string | Gets the target URI of the consumer endpoint.
timeout | xs:long | the timeout is specified in milliseconds. The default value is 0 which means that the endpoint will never timeout.

Element | Type | Description
--- | --- | ---
component | component |
marshaler | serializedMarshaler | the bean used to marshal HTTP messages. The default is a `DefaultHttpConsumerMarshaler`.
serviceUnit | <spring:bean/> |
ssl | sslParameters | a bean containing the SSL configuration properties

## Element: endpoint

Attribute | Type | Description
--- | --- | ---
authMethod | xs:string | a string naming the scheme used for authenticating users
defaultMep | xs:string |
defaultOperation | xs:QName |
dynamic | xs:boolean |
endpoint | xs:string | Get the endpoint implementation.
interfaceName | xs:QName | Get the qualified name of the endpoint interface.
locationURI | xs:string | the URI to which a provider endpoint sends requests
responseContentTypeCheck | xs:boolean | Specifies if the http provider checks the response content type for the
role | xs:string | HTTP endpoints can be either consumers or providers. Specifying
roleAsString | xs:string |
service | xs:QName | Get the service qualified name of the endpoint.
soap | xs:boolean |
soapAction | xs:string |
soapVersion | xs:string |
synchronous | xs:boolean |
targetEndpoint | xs:string |
targetInterfaceName | xs:QName |
targetService | xs:QName |
timeout | xs:integer | the number of milliseconds before the endpoint times out. The default value is 0 which means that the endpoint will never timeout.
wantContentTypeHeaderFromExchangeIntoHttpRequest | xs:boolean | Specifies if the HTTP provider will copy the HTTP request headers into the JBI

Element | Type | Description
--- | --- | ---
basicAuthentication | basicAuthCredentials | authentication data for using basic HTTP authentication.
binding | <spring:bean/> |
description | <spring:bean/> |
policies | (<spring:bean/>)* |
proxy | proxyParameters | configuration used to establish a proxy for sending HTTP requests. This configuration overrides that which is set at the component level.
ssl | sslParameters | a bean containing the SSL configuration properties
wsdlResource | <spring:bean/> |

## Element: provider

Attribute | Type | Description
--- | --- | ---
clientSoTimeout | xs:integer | the number of milliseconds the endpoint will block while attempting to read a request. The default value is 60000. Setting this to 0 specifies that the endpoint will never timeout.
credentials | xs:string | The authentication credentials
endpoint | xs:string | Get the endpoint implementation.
expectGzippedResponse | xs:boolean | If true, the accept-encoding http header will be set to gzip and the response will be un-gzipped.
gzipRequest | xs:boolean | If true, the request content will be gzipped and sent over the wire. The content-encoding http header will also be set to gzip.
interfaceName | xs:QName | Get the qualified name of the endpoint interface.
locationURI | xs:string | the URI to which the endpoint sends requests
maxConnectionsPerAddress | xs:integer | the number of the maximum connections per address that JettyClient creates for each destination. The default is 32.
principal | xs:string | The authentication principal
providerExpirationTime | xs:integer | the number of milliseconds to wait for a response before expiring.
proxyHost | xs:string | the host name of the HTTP proxy
proxyPassword | xs:string | the password for the HTTP proxy authentication
proxyPort | xs:integer | the host port of the HTTP proxy (defaults to 80)
proxyUsername | xs:string | the user name for the HTTP proxy authentication
service | xs:QName | Get the service qualified name of the endpoint.

Element | Type | Description
--- | --- | ---
component | component |
marshaler | <spring:bean/> | the bean used to marshal HTTP messages. The default is a
serviceUnit | <spring:bean/> |
ssl | sslParameters | the SSL parameters

## Element: proxyParameters

Attribute | Type | Description
--- | --- | ---
proxyHost | xs:string | the proxy's host name
proxyPort | xs:integer | the proxy's port number

Element | Type | Description
--- | --- | ---
proxyCredentials | basicAuthCredentials | authentication data for using basic HTTP authentication.

## Element: serializedMarshaler

Attribute | Type | Description
--- | --- | ---
defaultMep | xs:string |

## Element: soap-consumer

Attribute | Type | Description
--- | --- | ---
authMethod | xs:string | a string naming the scheme used for authenticating users
defaultMep | xs:string | a URI representing the endpoint's default MEP. The default is `JbiConstants.IN_OUT`.
endpoint | xs:string | Get the endpoint implementation.
interfaceName | xs:QName | Get the qualified name of the endpoint interface.
lateResponseStrategy | xs:string | Set the strategy to be used for handling a late response from the ESB (i.e. a response that arrives after the HTTP request has timed out). Defaults to `error` `error` will terminate the exchange with an ERROR status and log an exception for the late response `warning` will end the exchange with a DONE status and log a warning for the late response instead
locationURI | xs:string | the URI at which the endpoint listens for requests
rewriteSoapAddress | xs:boolean | Toggles the rewriting of the soap address based on the request info. When active, the soap address in the wsdl will be updated according to the protocol, host and port of the request. This is useful when listening on 0.0.0.0 or when behind a NAT (or reverse-proxy in some cases). This function only works on the main wsdl, not in imported wsdl-parts. This means the service with its port must be declared in the main wsdl. By default it is activated.
service | xs:QName | Get the service qualified name of the endpoint.
soapVersion | xs:string | Specifies the SOAP version to use when generating a wsdl binding for
targetEndpoint | xs:string | the name of the endpoint to which requests are sent
targetInterface | xs:QName | the QName of the interface to which requests are sent
targetOperation | xs:QName | the QName of the operation to which requests are sent
targetService | xs:QName | the QName of the service to which requests are sent
targetUri | xs:string | Gets the target URI of the consumer endpoint.
timeout | xs:long | the timeout is specified in milliseconds. The default value is 0 which means that the endpoint will never timeout.
useJbiWrapper | xs:boolean | Specifies if the JBI wrapper is sent in the body of the message. Default is
validateWsdl | xs:boolean | Specifies if the WSDL is checked for WSI-BP compliance. Default is `true`.

Element | Type | Description
--- | --- | ---
component | component |
marshaler | serializedMarshaler | the bean used to marshal HTTP messages. The default is a `DefaultHttpConsumerMarshaler`.
policies | (<spring:bean/>)* | a list of interceptors that will process messages
serviceUnit | <spring:bean/> |
ssl | sslParameters | a bean containing the SSL configuration properties
wsdl | <spring:bean/> | the URL of the WSDL document defining the endpoint's messages

## Element: soap-provider

Attribute | Type | Description
--- | --- | ---
clientSoTimeout | xs:integer | the number of milliseconds the endpoint will block while attempting to read a request. The default value is 60000. Setting this to 0 specifies that the endpoint will never timeout.
credentials | xs:string | The authentication credentials
endpoint | xs:string | Get the endpoint implementation.
expectGzippedResponse | xs:boolean | If true, the accept-encoding http header will be set to gzip and the response will be un-gzipped.
gzipRequest | xs:boolean | If true, the request content will be gzipped and sent over the wire. The content-encoding http header will also be set to gzip.
interfaceName | xs:QName | Get the qualified name of the endpoint interface.
locationURI | xs:string | the URI to which the endpoint sends requests
maxConnectionsPerAddress | xs:integer | the number of the maximum connections per address that JettyClient creates for each destination. The default is 32.
principal | xs:string | The authentication principal
providerExpirationTime | xs:integer | the number of milliseconds to wait for a response before expiring.
proxyHost | xs:string | the host name of the HTTP proxy
proxyPassword | xs:string | the password for the HTTP proxy authentication
proxyPort | xs:integer | the host port of the HTTP proxy (defaults to 80)
proxyUsername | xs:string | the user name for the HTTP proxy authentication
service | xs:QName | Get the service qualified name of the endpoint.
useJbiWrapper | xs:boolean | Specifies if the JBI wrapper is sent in the body of the message. Default is
validateWsdl | xs:boolean | Specifies if the WSDL is checked for WSI-BP compliance. Default is `true`

Element | Type | Description
--- | --- | ---
component | component |
marshaler | <spring:bean/> | the bean used to marshal HTTP messages. The default is a
policies | (<spring:bean/>)* | a list of interceptors that will process messages
serviceUnit | <spring:bean/> |
ssl | sslParameters | the SSL parameters
wsdl | <spring:bean/> | the URL of the WSDL document defining the endpoint's messages

## Element: sslParameters

Attribute | Type | Description
--- | --- | ---
keyAlias | xs:string |
keyManagerFactoryAlgorithm | xs:string |
keyPassword | xs:string |
keyStore | xs:string |
keyStorePassword | xs:string |
keyStoreType | xs:string |
managed | xs:boolean |
needClientAuth | xs:boolean |
protocol | xs:string |
provider | xs:string |
trustManagerFactoryAlgorithm | xs:string |
trustStore | xs:string |
trustStorePassword | xs:string |
trustStoreType | xs:string |
wantClientAuth | xs:boolean |