Configure the client and server so that a service can be invoked through JMS by a WSIF client application
The ways in which the Web Services Invocation Framework (WSIF) interacts with the JMS, and the steps take to enable a service to be invoked through JMS by a WSIF client application. This topic assumes that you installed a JMS provider when you installed WAS (either the JMS provider that is embedded in WAS, or another provider such as WebSphere MQ). If not, install one now as described in Installing and configuring a JMS provider.
Overview
Here are the ways in which the Web Services Invocation Framework (WSIF) interacts with JMS:
- Only input JMS properties are supported.
- WSIF needs two queues when invoking an operation: one for the request message and one for the reply. The replyTo queue is by default a temporary queue, which WSIF creates on behalf of the application. You can specify a permanent queue by setting the JMSReplyTo property to the JNDI name of a queue.
- WSIF uses the default values for properties set by the JMS implementation. However in MQSeries and in some other JMS implementations, messages are persistent by default, and the default temporary queue is of type temporary dynamic and cannot have persistent messages written to it. Therefore your JMS listener can fail to write a persistent response message to the temporary replyTo queue.
- If you are using MQSeries, create a temporary model queue that is of type permanent dynamic, then pass this model as the tempmodel of your queue connection factory. This will ensure that persistent messages are written to a temporary replyTo queue that is of type permanent dynamic.
- If your client is running on an appserver that is migrated from WAS V5 to V6, you might get basic authentication errors and therefore need to modify your security settings. For more information see Web Services Invocation Framework troubleshooting tips.
To enable a service to be invoked through JMS by a WSIF client application, complete the following steps:
Procedure
- Use the console to create and configure a queue connection factory and a queue destination.
This task is described in Configure resources for the default messaging provider or Configuring JMS resources for a generic messaging provider.
- Use the console to add the new queue destination to the list of JMS Server destination names for your appserver. Ensure that the Initial State is started.
- Put the JNDI names of the queue destination and queue connection factory, as well as your JNDI configuration, in the WSDL file.
Related tasks
Linking a WSIF service to a JMS-provided service
Related Reference
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
WSIFOperation - Asynchronous interactions reference
WSIFOperation - Synchronous and asynchronous timeouts reference
Related information
Messaging_resources3206.html