# Element Summary

Element | Description | Class
--- | --- | ---
component | JMS JBI binding component | org.apache.servicemix.jms.JmsComponent
configuration | Bean for configuring JMS connections | org.apache.servicemix.jms.JmsConfiguration
consumer | A Sping-based JMS consumer endpoint. | org.apache.servicemix.jms.endpoints.JmsConsumerEndpoint
endpoint | non-Spring JMS endpoint This JMS endpoint can be either a consumer or a provider and is optimized to work with SOAP messages. | org.apache.servicemix.jms.JmsEndpoint
jca-consumer | A Spring-based JMS consumer that uses JCA to connect to the JMS provider | org.apache.servicemix.jms.endpoints.JmsJcaConsumerEndpoint
provider | A Spring-based JMS provider endpoint | org.apache.servicemix.jms.endpoints.JmsProviderEndpoint
soap-consumer | A Spring-based JMS consumer optimized for handling SOAP messages | org.apache.servicemix.jms.endpoints.JmsSoapConsumerEndpoint
soap-provider | A Spring-based JMS provider optimized for SOAP messages | org.apache.servicemix.jms.endpoints.JmsSoapProviderEndpoint

# Element Detail

## Element: component

Element | Type | Description
--- | --- | ---
authenticationService | <spring:bean/> |
configuration | configuration | Specifies the configuration bean used to set up the JMS connections for the endpoints.
endpoints | (consumer | endpoint | jca-consumer | provider | soap-consumer | soap-provider)* | Specifies the list of endpoints hosted by the 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/> |

## Element: configuration

Attribute | Type | Description
--- | --- | ---
authenticationServiceName | xs:string |
jndiConnectionFactoryName | xs:string | Specifies the JNDI name used to look up the JMS connection factory.
jndiInitialContextFactory | xs:string | Specifies the default JNDI initial conext factory.
jndiProviderUrl | xs:string | Specifies the default JNDI provider URL.
keystoreManagerName | xs:string |
password | xs:string | Specifies the password used to to create a connection.
processorName | xs:string |
userName | xs:string | Specifies the user name used to create a connection.

Element | Type | Description
--- | --- | ---
authenticationService | <spring:bean/> |
connectionFactory | <spring:bean/> | Default `ConnectionFactory` to use in a spring configuration.
keystoreManager | <spring:bean/> |

## Element: consumer

Attribute | Type | Description
--- | --- | ---
cacheLevel | xs:integer | Specifies the level of caching allowed by the listener. Valid values are 0 through 3. The values map to the following: 0 - `CACHE_NONE` 1 - `CACHE_CONNECTION` 2 - `CACHE_SESSION` 3 - `CACHE_CONSUMER` The default is `CACHE_NONE`. This property only effects consumers whose `listenerType` property is set to `default`.
clientId | xs:string | Specifies the JMS client id for a shared `Connection` created and used by this listener.
concurrentConsumers | xs:integer | Specifies the number of concurrent consumers created by the listener. This property is only used for consumers whose `listenerType` property is set to either `simple` or `default`.
destinationName | xs:string | Specifies a string identifying the JMS destination used to recieve messages. The destination is resolved using the `DesitinationResolver`.
durableSubscriptionName | xs:string | Specifies the name used to register the durable subscription.
endpoint | xs:string | Get the endpoint implementation.
idleTaskExecutionLimit | xs:integer | Specifies the limit for idle executions of a receive task, not having received any message within its execution. If this limit is reached, the task will shut down and leave receiving to other executing tasks (in case of dynamic scheduling; see the "maxConcurrentConsumers" setting). Within each task execution, a number of message reception attempts (according to the "maxMessagesPerTask" setting) will each wait for an incoming message (according to the "receiveTimeout" setting). If all of those receive attempts in a given task return without a message, the task is considered idle with respect to received messages. Such a task may still be rescheduled; however, once it reached the specified "idleTaskExecutionLimit", it will shut down (in case of dynamic scaling). Raise this limit if you encounter too frequent scaling up and down. With this limit being higher, an idle consumer will be kept around longer, avoiding the restart of a consumer once a new load of messages comes in. Alternatively, specify a higher "maxMessagePerTask" and/or "receiveTimeout" value, which will also lead to idle consumers being kept around for a longer time (while also increasing the average execution time of each scheduled task). This property is only used for consumers whose `listenerType` property is set to `default`.
interfaceName | xs:QName | Get the qualified name of the endpoint interface.
jms102 | xs:boolean | Specifies if the consumer uses JMS 1.0.2 compliant APIs. Defaults to `false`.
listenerType | xs:string | Specifies the type of Spring JMS message listener to use. Valid values are: `default`, `simple`, and `server`.
maxConcurrentConsumers | xs:integer | Specifies the maximum number of concurrent consumers created by the listener. If this setting is higher than "concurrentConsumers", the listener container will dynamically schedule new consumers at runtime, provided that enough incoming messages are encountered. Once the load goes down again, the number of consumers will be reduced to the standard level ("concurrentConsumers") again. This property is only used for consumers whose `listenerType` property is set to `default`.
maxMessagesPerTask | xs:integer | Specifies the number of attempts to receive messages per task. The default is -1 which specifies an unlimited number of attempts. This property only effects consumers whose `listenerType` property is set to either `default` or `simple`.
messageSelector | xs:string | Specifies the message selector string to use. The message selector string should conform to the descrition in the JMS spec.
pubSubDomain | xs:boolean | Specifies if the destination is a topic. `true` means the destination is a topic. `false` means the destination is a queue.
pubSubNoLocal | xs:boolean | Specifies if messages published by the listener's `Connection` are suppressed. The default is `false`. This property only effects consumers whose `listenerType` property is set to either `default` or `simple`.
receiveTimeout | xs:long | Specifies the timeout for receiving a message in milliseconds. Defaults to 1000. This property only effects consumers whose `listenerType` property is set to `default`.
recoveryInterval | xs:long | Specifies the interval, in milliseconds, between attempts to recover after a failed listener set-up. Defaults to 5000. This property only effects consumers whose `listenerType` property is set to `default`.
replyDeliveryMode | xs:integer | Specifies the JMS delivery mode used for the reply. Defaults to 2(`PERSISTENT`).
replyDestinationName | xs:string | Specifies the name of the JMS destination to use for the reply. The actual JMS destination is resolved using the `DestinationResolver` specified by the `.destinationResolver` property.
replyExplicitQosEnabled | xs:boolean | Specifies if the QoS values specified for the endpoint are explicitly used when the reply is sent. The default is `false`.
replyPriority | xs:integer | Specifies the JMS message priority of the reply. Defaults to 4.
replyTimeToLive | xs:long | Specifies the number of milliseconds the reply message is valid. The default is unlimited.
service | xs:QName | Get the service qualified name of the endpoint.
sessionAcknowledgeMode | xs:integer | Specifies the acknowledgment mode that is used when creating a `Session` to send a message. Deafults to `Session.AUTO_ACKNOWLEDGE`.
stateless | xs:boolean | Specifies if the consumer retains state information about the message exchange while it is in process.
subscriptionDurable | xs:boolean | Specifies if the listener uses a durable subscription to listen for messages. Defaults to `false`.
synchronous | xs:boolean | Specifies if the consumer will block while waiting for a response. This means the consumer can only process one message at a time. Defaults to `true`.
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.
transacted | xs:string | Specifies the type of transaction used to wrap the message exchanges. Valid values are `none`, `xa`, and `jms`.

Element | Type | Description
--- | --- | ---
component | component |
connectionFactory | <spring:bean/> | Specifies the `ConnectionFactory` used by the endpoint.
destination | <spring:bean/> | Specifies the JMS `Destination` used to receive messages.
destinationChooser | <spring:bean/> | Specifies a class implementing logic for choosing reply destinations.
destinationResolver | <spring:bean/> | Specifies the class implementing logic for converting strings into destinations. The default is `DynamicDestinationResolver`.
exceptionListener | <spring:bean/> | Specifies an `ExceptionListener` to notify in case of a `JMSException` is thrown by the registered message listener or the invocation infrastructure.
marshaler | <spring:bean/> | Specifies the class implementing the message marshaler. The message marshaller is responsible for marshalling and unmarshalling JMS messages. The default is `DefaultConsumerMarshaler`.
replyDestination | <spring:bean/> | Specifies the JMS `Destination` for the replies. If this value is not set the endpoint will use the `destinationChooser` property or the `replyDestinationName` property to determine the desitination to use.
replyProperties | <spring:bean/> | Specifies custom properties to be placed in the reply's JMS header.
serviceUnit | <spring:bean/> |
store | <spring:bean/> | Specifies the persistent store used to store JBI exchanges that are waiting to be processed. The store will be automatically created if not set and the endpoint's `stateless` property is set to `false`.
storeFactory | <spring:bean/> | Specifies the store factory used to create the store. If none is set and the endpoint's `stateless` property is set to `false`, a {@link MemoryStoreFactory} will be created and used instead.
useMessageIdInResponse | <spring:bean/> | Specifies if the request message's ID is used as the reply's correlation ID. The default behavior is to use the request's correlation ID. Setting this to `true` means the request's message ID will be used instead.

## Element: endpoint

Attribute | Type | Description
--- | --- | ---
defaultMep | xs:string |
defaultOperation | xs:QName |
destinationStyle | xs:string | Specifies the destination type used with the jmsProviderDestinationName. Can be `queue` or `topic`.
dynamic | xs:boolean |
endpoint | xs:string | Get the endpoint implementation.
initialContextFactory | xs:string | The class name of the JNDI InitialContextFactory to use.
interfaceName | xs:QName | Get the qualified name of the endpoint interface.
jmsProviderDestinationName | xs:string | The name of the destination created by a call to `Session.createQueue` or `Session.createTopic`. This property is used when `destination` and `jndiDestinationName` are both `null`.
jmsProviderReplyToName | xs:string | The name of the reply destination created by a call to `Session.createQueue` or `Session.createTopic`. This property is used when `jndiReplyToName` is `null`. A temporary queue will be used if a replyTo is not provided.
jndiConnectionFactoryName | xs:string | The name of the JMS ConnectionFactory to lookup in JNDI. Used if `connectionFactory` is `null`
jndiDestinationName | xs:string | The name of the JMS Destination to lookup in JNDI. Used if `destination` is `null`.
jndiProviderURL | xs:string | The provider URL used to create the JNDI context.
jndiReplyToName | xs:string | The name of the JMS Reply-to destination to lookup in JNDI. If this property is not set a temporary replyTo queue is used.
needJavaIdentifiers | xs:boolean | Indicates if the JMS properties used by the endpoint need to be spec compliant.
processorName | xs:string | Specifies the processor family to use for this endpoint. Can be: `multiplexing` (default) `standard` `jca`
role | xs:string | Specifies the role of this endpoint. Endpoints can be `consumer` or `provider`.
roleAsString | xs:string |
rollbackOnError | xs:boolean | Indicates if the JBI exchange is rolled back if an error is encountered.
service | xs:QName | Get the service qualified name of the endpoint.
soap | xs:boolean |
soapVersion | xs:string |
synchronous | xs:boolean | Indicates if a JCA consumer endpoint sends the JBI exchange synchronously or asynchronously. This changes the transaction boundary.
targetEndpoint | xs:string |
targetInterfaceName | xs:QName |
targetService | xs:QName |
useMsgIdInResponse | xs:boolean | Indicates whether the message id of the request message should be used as the correlation id in the response or the correlation id of the request.

Element | Type | Description
--- | --- | ---
activationSpec | <spring:bean/> | The ActivationSpec to use on a JCA consumer endpoint.
bootstrapContext | <spring:bean/> | The BootstrapContext to use for a JCA consumer endpoint.
connectionFactory | <spring:bean/> | A configured ConnectionFactory to use on this endpoint.
description | <spring:bean/> |
destination | <spring:bean/> | A configured Destination to use on this endpoint.
marshaler | <spring:bean/> | Specifies the class implementing the logic for marshaling and unmarshaling messages between the JMS destination and the endpoint. Defaults to `DefaultJmsMarshaler`.
policies | (<spring:bean/>)* |
resourceAdapter | <spring:bean/> | The ResourceAdapter to use on a JCA consumer endpoint.
store | <spring:bean/> | Specifies a persistent data store to hold pending exchanges for the endpoint.
storeFactory | <spring:bean/> | Specifies the factory used to create presistent data stores for this endpoint.
wsdlResource | <spring:bean/> |

## Element: jca-consumer

Attribute | Type | Description
--- | --- | ---
endpoint | xs:string | Get the endpoint implementation.
interfaceName | xs:QName | Get the qualified name of the endpoint interface.
jms102 | xs:boolean | Specifies if the consumer uses JMS 1.0.2 compliant APIs. Defaults to `false`.
pubSubDomain | xs:boolean | Specifies if the destination is a topic. `true` means the destination is a topic. `false` means the destination is a queue.
replyDeliveryMode | xs:integer | Specifies the JMS delivery mode used for the reply. Defaults to 2(`PERSISTENT`).
replyDestinationName | xs:string | Specifies the name of the JMS destination to use for the reply. The actual JMS destination is resolved using the `DestinationResolver` specified by the `.destinationResolver` property.
replyExplicitQosEnabled | xs:boolean | Specifies if the QoS values specified for the endpoint are explicitly used when the reply is sent. The default is `false`.
replyPriority | xs:integer | Specifies the JMS message priority of the reply. Defaults to 4.
replyTimeToLive | xs:long | Specifies the number of milliseconds the reply message is valid. The default is unlimited.
service | xs:QName | Get the service qualified name of the endpoint.
stateless | xs:boolean | Specifies if the consumer retains state information about the message exchange while it is in process.
synchronous | xs:boolean | Specifies if the consumer will block while waiting for a response. This means the consumer can only process one message at a time. Defaults to `true`.
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.

Element | Type | Description
--- | --- | ---
activationSpec | <spring:bean/> | Specifies the activation information needed by the endpoint.
bootstrapContext | <spring:bean/> | Specifies the `BootStrapContext` used to start the resource adapter. If this property is not set, a default `BootstrpContext` will be created.
connectionFactory | <spring:bean/> | Specifies the `ConnectionFactory` used by the endpoint.
destinationChooser | <spring:bean/> | Specifies a class implementing logic for choosing reply destinations.
destinationResolver | <spring:bean/> | Specifies the class implementing logic for converting strings into destinations. The default is `DynamicDestinationResolver`.
marshaler | <spring:bean/> | Specifies the class implementing the message marshaler. The message marshaller is responsible for marshalling and unmarshalling JMS messages. The default is `DefaultConsumerMarshaler`.
replyDestination | <spring:bean/> | Specifies the JMS `Destination` for the replies. If this value is not set the endpoint will use the `destinationChooser` property or the `replyDestinationName` property to determine the desitination to use.
replyProperties | <spring:bean/> | Specifies custom properties to be placed in the reply's JMS header.
resourceAdapter | <spring:bean/> | Specifies the resource adapter used for the endpoint.
store | <spring:bean/> | Specifies the persistent store used to store JBI exchanges that are waiting to be processed. The store will be automatically created if not set and the endpoint's `stateless` property is set to `false`.
storeFactory | <spring:bean/> | Specifies the store factory used to create the store. If none is set and the endpoint's `stateless` property is set to `false`, a {@link MemoryStoreFactory} will be created and used instead.
useMessageIdInResponse | <spring:bean/> | Specifies if the request message's ID is used as the reply's correlation ID. The default behavior is to use the request's correlation ID. Setting this to `true` means the request's message ID will be used instead.

## Element: provider

Attribute | Type | Description
--- | --- | ---
deliveryMode | xs:integer | Specifies the JMS delivery mode used for the reply. Defaults to (2)(`PERSISTENT`).
destinationName | xs:string | Specifies a string identifying the JMS destination used to send messages. The destination is resolved using the `DesitinationResolver`.
endpoint | xs:string | Get the endpoint implementation.
explicitQosEnabled | xs:boolean | Specifies if the QoS values specified for the endpoint are explicitly used when a messages is sent. The default is `false`.
interfaceName | xs:QName | Get the qualified name of the endpoint interface.
jms102 | xs:boolean | Determines if the provider used JMS 1.0.2 compliant APIs.
messageIdEnabled | xs:boolean | Specifies if your endpoint requires JMS message IDs. Setting the `messageIdEnabled` property to `false` causes the endpoint to call its message producer's `setDisableMessageID()` with a value of `true`. The JMS broker is then given a hint that it does not need to generate message IDs or add them to the messages from the endpoint. The JMS broker can choose to accept the hint or ignore it.
messageTimestampEnabled | xs:boolean | Specifies if your endpoints requires time stamps on its messages. Setting the `messageTimeStampEnabled` property to `false` causes the endpoint to call its message producer's `setDisableMessageTimestamp()` method with a value of `true`. The JMS broker is then given a hint that it does not need to generate message IDs or add them to the messages from the endpoint. The JMS broker can choose to accept the hint or ignore it.
preserveMessageQos | xs:boolean | Specifies whether we want to send message using the QoS settings specified on the message instead in order to preserve message QoS. The default is `false`.
priority | xs:integer | Specifies the priority assigned to the JMS messages. Defaults to 4.
pubSubDomain | xs:boolean | Specifies if the destination is a topic. `true` means the destination is a topic. `false` means the destination is a queue.
pubSubNoLocal | xs:boolean | Specifies if messages published by the listener's `Connection` are suppressed. The default is `false`.
receiveTimeout | xs:long | Specifies the timeout for receiving a message in milliseconds.
replyDestinationName | xs:string | Sets the name of the reply destination. This property will be used to create the `replyDestination` using the `destinationResolver` when the endpoint starts if the `replyDestination` has not been set.
service | xs:QName | Get the service qualified name of the endpoint.
timeToLive | xs:long | Specifies the number of milliseconds a message is valid.

Element | Type | Description
--- | --- | ---
connectionFactory | <spring:bean/> | Specifies the `ConnectionFactory` used by the endpoint.
destination | <spring:bean/> | Specifies the JMS `Destination` used to send messages.
destinationChooser | <spring:bean/> | Specifies a class implementing logic for choosing the destination used to send messages.
destinationResolver | <spring:bean/> | Specifies the class implementing logic for converting strings into destinations. The default is `DynamicDestinationResolver`.
marshaler | <spring:bean/> | Specifies the class implementing the message marshaler. The message marshaller is responsible for marshalling and unmarshalling JMS messages. The default is `DefaultProviderMarshaler`.
replyDestination | <spring:bean/> | Sets the reply destination. This JMS destination will be used as the default destination for the response messages when using an InOut JBI exchange. It will be used if the `replyDestinationChooser` does not return any value.
replyDestinationChooser | <spring:bean/> | Specifies a class implementing logic for choosing the destination used to recieve replies.
store | <spring:bean/> | Sets the store used to store JBI exchanges that are waiting for a response JMS message. The store will be automatically created if not set.
storeFactory | <spring:bean/> | Sets the store factory used to create the store. If none is set, a {@link MemoryStoreFactory} will be created and used instead.

## Element: soap-consumer

Attribute | Type | Description
--- | --- | ---
cacheLevel | xs:integer | Specifies the level of caching allowed by the listener. Valid values are 0 through 3. The values map to the following: 0 - `CACHE_NONE` 1 - `CACHE_CONNECTION` 2 - `CACHE_SESSION` 3 - `CACHE_CONSUMER` The default is `CACHE_NONE`. This property only effects consumers whose `listenerType` property is set to `default`.
clientId | xs:string | Specifies the JMS client id for a shared `Connection` created and used by this listener.
concurrentConsumers | xs:integer | Specifies the number of concurrent consumers created by the listener. This property is only used for consumers whose `listenerType` property is set to either `simple` or `default`.
destinationName | xs:string | Specifies a string identifying the JMS destination used to recieve messages. The destination is resolved using the `DesitinationResolver`.
durableSubscriptionName | xs:string | Specifies the name used to register the durable subscription.
endpoint | xs:string | Get the endpoint implementation.
idleTaskExecutionLimit | xs:integer | Specifies the limit for idle executions of a receive task, not having received any message within its execution. If this limit is reached, the task will shut down and leave receiving to other executing tasks (in case of dynamic scheduling; see the "maxConcurrentConsumers" setting). Within each task execution, a number of message reception attempts (according to the "maxMessagesPerTask" setting) will each wait for an incoming message (according to the "receiveTimeout" setting). If all of those receive attempts in a given task return without a message, the task is considered idle with respect to received messages. Such a task may still be rescheduled; however, once it reached the specified "idleTaskExecutionLimit", it will shut down (in case of dynamic scaling). Raise this limit if you encounter too frequent scaling up and down. With this limit being higher, an idle consumer will be kept around longer, avoiding the restart of a consumer once a new load of messages comes in. Alternatively, specify a higher "maxMessagePerTask" and/or "receiveTimeout" value, which will also lead to idle consumers being kept around for a longer time (while also increasing the average execution time of each scheduled task). This property is only used for consumers whose `listenerType` property is set to `default`.
interfaceName | xs:QName | Get the qualified name of the endpoint interface.
jms102 | xs:boolean | Specifies if the consumer uses JMS 1.0.2 compliant APIs. Defaults to `false`.
listenerType | xs:string | Specifies the type of Spring JMS message listener to use. Valid values are: `default`, `simple`, and `server`.
maxConcurrentConsumers | xs:integer | Specifies the maximum number of concurrent consumers created by the listener. If this setting is higher than "concurrentConsumers", the listener container will dynamically schedule new consumers at runtime, provided that enough incoming messages are encountered. Once the load goes down again, the number of consumers will be reduced to the standard level ("concurrentConsumers") again. This property is only used for consumers whose `listenerType` property is set to `default`.
maxMessagesPerTask | xs:integer | Specifies the number of attempts to receive messages per task. The default is -1 which specifies an unlimited number of attempts. This property only effects consumers whose `listenerType` property is set to either `default` or `simple`.
messageSelector | xs:string | Specifies the message selector string to use. The message selector string should conform to the descrition in the JMS spec.
pubSubDomain | xs:boolean | Specifies if the destination is a topic. `true` means the destination is a topic. `false` means the destination is a queue.
pubSubNoLocal | xs:boolean | Specifies if messages published by the listener's `Connection` are suppressed. The default is `false`. This property only effects consumers whose `listenerType` property is set to either `default` or `simple`.
receiveTimeout | xs:long | Specifies the timeout for receiving a message in milliseconds. Defaults to 1000. This property only effects consumers whose `listenerType` property is set to `default`.
recoveryInterval | xs:long | Specifies the interval, in milliseconds, between attempts to recover after a failed listener set-up. Defaults to 5000. This property only effects consumers whose `listenerType` property is set to `default`.
replyDeliveryMode | xs:integer | Specifies the JMS delivery mode used for the reply. Defaults to 2(`PERSISTENT`).
replyDestinationName | xs:string | Specifies the name of the JMS destination to use for the reply. The actual JMS destination is resolved using the `DestinationResolver` specified by the `.destinationResolver` property.
replyExplicitQosEnabled | xs:boolean | Specifies if the QoS values specified for the endpoint are explicitly used when the reply is sent. The default is `false`.
replyPriority | xs:integer | Specifies the JMS message priority of the reply. Defaults to 4.
replyTimeToLive | xs:long | Specifies the number of milliseconds the reply message is valid. The default is unlimited.
service | xs:QName | Get the service qualified name of the endpoint.
sessionAcknowledgeMode | xs:integer | Specifies the acknowledgment mode that is used when creating a `Session` to send a message. Deafults to `Session.AUTO_ACKNOWLEDGE`.
stateless | xs:boolean | Specifies if the consumer retains state information about the message exchange while it is in process.
subscriptionDurable | xs:boolean | Specifies if the listener uses a durable subscription to listen for messages. Defaults to `false`.
synchronous | xs:boolean | Specifies if the consumer will block while waiting for a response. This means the consumer can only process one message at a time. Defaults to `true`.
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.
transacted | xs:string | Specifies the type of transaction used to wrap the message exchanges. Valid values are `none`, `xa`, and `jms`.
useJbiWrapper | xs:boolean | Specifies if the endpoint expects SOAP messages to be wrapped in the JBI wrapper. Defaults to `true`.
validateWsdl | xs:boolean | Specifies if the WSDL is checked WSI-BP compliance. Defaults to `true`.

Element | Type | Description
--- | --- | ---
component | component |
connectionFactory | <spring:bean/> | Specifies the `ConnectionFactory` used by the endpoint.
destination | <spring:bean/> | Specifies the JMS `Destination` used to receive messages.
destinationChooser | <spring:bean/> | Specifies a class implementing logic for choosing reply destinations.
destinationResolver | <spring:bean/> | Specifies the class implementing logic for converting strings into destinations. The default is `DynamicDestinationResolver`.
exceptionListener | <spring:bean/> | Specifies an `ExceptionListener` to notify in case of a `JMSException` is thrown by the registered message listener or the invocation infrastructure.
marshaler | <spring:bean/> | Specifies the class implementing the message marshaler. The message marshaller is responsible for marshalling and unmarshalling JMS messages. The default is `DefaultConsumerMarshaler`.
policies | (<spring:bean/>)* | Specifies an array of interceptors used to process SOAP messages.
replyDestination | <spring:bean/> | Specifies the JMS `Destination` for the replies. If this value is not set the endpoint will use the `destinationChooser` property or the `replyDestinationName` property to determine the desitination to use.
replyProperties | <spring:bean/> | Specifies custom properties to be placed in the reply's JMS header.
serviceUnit | <spring:bean/> |
store | <spring:bean/> | Specifies the persistent store used to store JBI exchanges that are waiting to be processed. The store will be automatically created if not set and the endpoint's `stateless` property is set to `false`.
storeFactory | <spring:bean/> | Specifies the store factory used to create the store. If none is set and the endpoint's `stateless` property is set to `false`, a {@link MemoryStoreFactory} will be created and used instead.
useMessageIdInResponse | <spring:bean/> | Specifies if the request message's ID is used as the reply's correlation ID. The default behavior is to use the request's correlation ID. Setting this to `true` means the request's message ID will be used instead.
wsdl | <spring:bean/> | Specifies the WSDL document describing the service's interface.

## Element: soap-provider

Attribute | Type | Description
--- | --- | ---
deliveryMode | xs:integer | Specifies the JMS delivery mode used for the reply. Defaults to (2)(`PERSISTENT`).
destinationName | xs:string | Specifies a string identifying the JMS destination used to send messages. The destination is resolved using the `DesitinationResolver`.
endpoint | xs:string | Get the endpoint implementation.
explicitQosEnabled | xs:boolean | Specifies if the QoS values specified for the endpoint are explicitly used when a messages is sent. The default is `false`.
interfaceName | xs:QName | Get the qualified name of the endpoint interface.
jms102 | xs:boolean | Determines if the provider used JMS 1.0.2 compliant APIs.
messageIdEnabled | xs:boolean | Specifies if your endpoint requires JMS message IDs. Setting the `messageIdEnabled` property to `false` causes the endpoint to call its message producer's `setDisableMessageID()` with a value of `true`. The JMS broker is then given a hint that it does not need to generate message IDs or add them to the messages from the endpoint. The JMS broker can choose to accept the hint or ignore it.
messageTimestampEnabled | xs:boolean | Specifies if your endpoints requires time stamps on its messages. Setting the `messageTimeStampEnabled` property to `false` causes the endpoint to call its message producer's `setDisableMessageTimestamp()` method with a value of `true`. The JMS broker is then given a hint that it does not need to generate message IDs or add them to the messages from the endpoint. The JMS broker can choose to accept the hint or ignore it.
preserveMessageQos | xs:boolean | Specifies whether we want to send message using the QoS settings specified on the message instead in order to preserve message QoS. The default is `false`.
priority | xs:integer | Specifies the priority assigned to the JMS messages. Defaults to 4.
pubSubDomain | xs:boolean | Specifies if the destination is a topic. `true` means the destination is a topic. `false` means the destination is a queue.
pubSubNoLocal | xs:boolean | Specifies if messages published by the listener's `Connection` are suppressed. The default is `false`.
receiveTimeout | xs:long | Specifies the timeout for receiving a message in milliseconds.
replyDestinationName | xs:string | Sets the name of the reply destination. This property will be used to create the `replyDestination` using the `destinationResolver` when the endpoint starts if the `replyDestination` has not been set.
service | xs:QName | Get the service qualified name of the endpoint.
timeToLive | xs:long | Specifies the number of milliseconds a message is valid.
useJbiWrapper | xs:boolean | Specifies if the endpoint expects SOAP messages to be wrapped in the JBI wrapper. Defaults to `true`.
validateWsdl | xs:boolean | Specifies if the WSDL is checked WSI-BP compliance. Defaults to `true`.

Element | Type | Description
--- | --- | ---
connectionFactory | <spring:bean/> | Specifies the `ConnectionFactory` used by the endpoint.
destination | <spring:bean/> | Specifies the JMS `Destination` used to send messages.
destinationChooser | <spring:bean/> | Specifies a class implementing logic for choosing the destination used to send messages.
destinationResolver | <spring:bean/> | Specifies the class implementing logic for converting strings into destinations. The default is `DynamicDestinationResolver`.
marshaler | <spring:bean/> | Specifies the class implementing the message marshaler. The message marshaller is responsible for marshalling and unmarshalling JMS messages. The default is `DefaultProviderMarshaler`.
policies | (<spring:bean/>)* | Specifies an array of interceptors used to process SOAP messages.
replyDestination | <spring:bean/> | Sets the reply destination. This JMS destination will be used as the default destination for the response messages when using an InOut JBI exchange. It will be used if the `replyDestinationChooser` does not return any value.
replyDestinationChooser | <spring:bean/> | Specifies a class implementing logic for choosing the destination used to recieve replies.
store | <spring:bean/> | Sets the store used to store JBI exchanges that are waiting for a response JMS message. The store will be automatically created if not set.
storeFactory | <spring:bean/> | Sets the store factory used to create the store. If none is set, a {@link MemoryStoreFactory} will be created and used instead.
wsdl | <spring:bean/> | Specifies the WSDL document describing the service's interface.