Enable a WSIF client to invoke a Web service through JMS
The ways in which the Web Services Invocation Framework (WSIF) interacts with the JMS, and the steps to take to enable a service to be invoked through JMS by a WSIF client application.
This page assumes that you chose and configured a JMS provider when you installed WAS (either the default messaging provider, or another provider such as the WebSphere MQ messaging provider). If not, do so now
Here are the ways in which WSIF interacts with JMS:
- WSIF only supports input JMS properties.
- 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. We 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.
To enable a service to be invoked through JMS by a WSIF client application...
- Use the admin console to create and configure a queue connection factory and a queue destination for the chosen messaging provider.
See Configuring resources for the default messaging provider, Set JMS resources for the WebSphere MQ messaging provider or Manage messaging with a third-party or (deprecated) V5 default messaging provider.
In WebSphere MQ and some other JMS implementations, messages are persistent by default. The WSIF replyTo temporary queue is of type temporary dynamic by default, which means that the JMS provider cannot write a persistent response message to this queue. If using the WebSphere MQ messaging provider, create a temporary model queue that is of type permanent dynamic, then pass this model as the tempmodel of your queue connection factory. This ensures that persistent messages are written to a temporary replyTo queue that is of type permanent dynamic.
- Use the admin console to add the new queue destination to the list of JMS destination names for the appserver. Verify the Initial State is started.
- Put the JNDI names of the queue destination and queue connection factory, as well as the JNDI configuration, in the Web Services Description Language (WSDL) file.
- If the client is running on an application server that has been migrated from WAS V5, we might get basic authentication errors and therefore have to modify the security settings.
See see Web Services Invocation Framework troubleshooting tips.
 
Related concepts
WSIF and WSDL
Related tasks
Linking a WSIF service to a JMS-provided service
Administer WSIF
Related
WSIFOperation - Asynchronous interactions reference
WSIFOperation - Synchronous and asynchronous timeouts reference
Example: Writing the WSDL extension that enables the WSIF service to access a SOAP over JMS service
Example: Writing the WSDL extensions that enable the WSIF service to access an underlying service at a JMS destination