When using two-way Web service communications using SOAP over JMS,
it can be beneficial to configure a permanent replyTo queue on a JAX-RPC Web
services client to prevent the client from having to create a temporary reply
queue each time a Web service request is made.
About this task
A permanent
replyTo queue is configured on the Web service client in one of the following
ways:
- Specify the optional replyToDestination property in the
JMS endpoint URL.
- Set the replyTo queue programmatically on the client JAX-RPC Stub or Call
object. Setting the replyTo queue as a Stub or a Call property affects all
requests that are invoked using that Stub or Call object.
- Set the replyTo queue as a JVM System property. Setting the replyTo queue
as a JVM System property affects all of your SOAP over JMS clients running
in the particular JVM. If there are multiple clients in the same application
that need to use a different replyTO queue, then the best option is to set
the property programmatically.
Note: To set the permanent replyTo queue using any of these options,
only client-side configuration is necessary. There is no configuration necessary
on the Web service provider side.
Procedure
- Specify the optional replyToDestination property
in the JMS endpoint URL.
jms:/queue?destination=jms/MyRequestQueue&connectionFactory=
jms/MyCF&replyToDestination=jms/MyReplyQueue&targetService=MyService
- Set the replyTo queue programmatically on the client JAX-RPC Stub
or Call object.
The client uses the JAX-RPC Stub or Call object
to invoke the Web service.
((javax.xml.rpc.Stub)stub)._setProperty(com.ibm.wsspi.webservices.Consta
nts.JMS_REPLY_QUEUE_JNDI_NAME,
"jms/Permanent_Q");
The value of the property is a String.
- Set the replyTo queue as a JVM System property.
Results
Your Web services client can now receive SOAP/JMS messages to a permanent
replyTo queue.