Linking a WSIF service to a JMS-provided service
The JMS providers enable a WSIF service to be invoked through either SOAP over JMS, or native JMS. Add WSDL extensions to your Web service WSDL file so that the service can use the JMS providers.
Overview
The JMS is an API for transport technology. The mapping to a JMS destination is defined during deployment and maintained by the container.
The JMS destination endpoint for a Web service can be realized in any of the following ways:
- The JMS destination for the queue can be the Web service implementation.
- The JMS destination can be (but is not required to be) associated with a message-driven bean by the EJB container, thereby allowing the message-driven bean to be the Web service implementation.
- For SOAP over JMS, the JMS destination can unwrap the JMS message and route the SOAP message to a Web service that is implemented as a stateless session bean.
The JMS destination endpoint must respect the interaction model expected by the client and defined by the WSDL. It must return a response if one is required.
When the JMS destination endpoint creates the JMS response message the following rules must be followed:
- The response message must be sent to JMSReplyTo from the incoming request.
- The JMSCorrelationID value of the response message must be set to the JMSMessageID value from the request message.
- The response must be sent with a deliveryMode value equal to the JMSDeliveryMode value of the request message.
- The response must be sent with a priority value equal to the JMSPriority value of the request message.
- The TimeToLive/JMSExpiration value must be set to a value that equals the JMSExpiration value of the request message.
The client does not see any of these headers. The container receives the JMS message and (for SOAP over JMS) removes the SOAP message to send to the client.
To link a WSIF service to a JMS-provided service, use the information and code examples given in the following topics:
Procedure
- Link a WSIF service to a SOAP over JMS service..
- Link a WSIF service to a service provided at a JMS destination..
- Configure the client and server so that a service can be invoked through JMS by a WSIF client application.
Example: Writing the WSDL extension that enables your WSIF service to access a SOAP over JMS service
Example: Writing the WSDL extensions that enable your WSIF service to access an underlying service at a JMS destination
Configure the client and server so that a service can be invoked through JMS by a WSIF client application
JMS message header: The TimeToLive property reference
Related tasks
Linking a WSIF service to a SOAP over HTTP service
Linking a WSIF service to the underlying implementation of the service
Related Reference
Example: Writing the WSDL extension that enables your WSIF service to invoke a method on a local Java object
Example: Writing the WSDL extension that enables your WSIF service to invoke an enterprise bean