The ways in which the Web Services Invocation Framework
(WSIF) interacts with the Java™ Message
Service (JMS), and the steps to take to enable a service to be invoked
through JMS by a WSIF client application.
Before you begin
This topic assumes that you chose and configured a JMS provider
when you installed WebSphere® Application Server
(either the default messaging provider, or another provider such as
the WebSphere MQ messaging provider). If not,
do so now as described in
Choosing a messaging provider.
About this task
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. 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.
To enable a service to be invoked through JMS by a WSIF client
application, complete the following steps:
Procedure
- Use the administrative console to create and configure
a queue connection factory and a queue destination for your chosen
messaging provider.
For more information, see Configuring resources for the default messaging provider, Configuring JMS resources for the IBM messaging provider or Managing messaging with a third-party messaging provider.
Note: 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 your JMS provider cannot write a persistent
response message to this queue. If you are 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 administrative console to add the new queue destination
to the list of JMS destination names for your application server.
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 Web Services Description
Language (WSDL) file.
- Optional: If your client is running on an application
server that has been migrated from WebSphere Application
Server Version 5, you might get basic authentication errors and therefore
have to modify your security settings. For more information
see Web Services Invocation Framework troubleshooting tips.