Integration Server 10.3 | Web Services Developer’s Guide | Using SOAP over JMS with Web Services | Using SOAP/JMS with Provider Web Service Descriptors
 
Using SOAP/JMS with Provider Web Service Descriptors
 
Run-Time Behavior for a Provider Web Service that Uses SOAP/JMS
Additional Guidelines for Using SOAP/JMS with Provider Web Service Descriptors
For web services to receive and process SOAP/JMS messages, a provider web service descriptor needs a way to receive JMS messages from a destination on a JMS provider. In addition, the web service descriptor needs to contain SOAP/JMS binding information that can be used in the WSDL document that Integration Server generates for the provider web service descriptor. To provide this information, you create SOAP-JMS triggers and web service endpoint aliases, and then associate these items with a JMS binder in a provider web service descriptor.
The following table identifies the basic tasks that you need to complete to add SOAP/JMS support to a provider web service descriptor.
Step
Description
1
Create a SOAP-JMS trigger.
A SOAP-JMS trigger is a JMS trigger that receives messages from a destination (queue or topic) on a JMS provider and then routes the SOAP message to the internal web services stack for processing.
The SOAP-JMS trigger also specifies the JMS connection alias that Integration Server uses to receive messages from the provider and to send response messages to the requesting client. The properties assigned to the SOAP-JMS trigger determine how Integration Server acknowledges the message, provides exactly-once processing, and handles transient or fatal errors.
For more information about creating SOAP-JMS triggers, see webMethods Service Development Help.
Note:
Instead of creating a SOAP-JMS trigger, you can create a WS (web service) endpoint trigger at the same time you create a provider web service endpoint alias for JMS. A WS endpoint trigger is a SOAP-JMS trigger with limited configuration options (for example, you cannot configure transient error handling, an acknowledgement mode, or exactly-once processing for WS endpoint triggers). Typically, WS endpoint triggers are used with virtual services deployed to webMethods Mediator. For more information about WS endpoint triggers, see About WS Endpoint Triggers. For more information about webMethods Mediator, see Administering webMethods Mediator.
2
Create a provider web service endpoint alias for JMS.
The provider web service endpoint alias for JMS specifies from where and how Integration Server receives messages for a web service descriptor to which the alias is assigned.
The alias specifies a SOAP-JMS trigger which indicates:
*The destination from which the trigger receives messages.
*The JMS connection alias that Integration Server uses to establish a connection to the JMS provider from which it receives messages.
For information about creating an endpoint alias for a provider web service descriptor for use with JMS, see Creating an Endpoint Alias for a Provider Web Service Descriptor for Use with JMS.
3
Add a JMS binder to the provider web service descriptor.
For a service first provider web service descriptor, you can add the JMS binder at the time you create the web service descriptor or at a later point. A valid provider web service endpoint alias for JMS must exist before you can add a JMS binder to a web service descriptor. For more information about adding binders, see webMethods Service Development Help.
Note:
You cannot add binders to WSDL first provider web service descriptors. If you want a WSDL first provider web service descriptor to have a JMS binder, you must create the web service descriptor from a WSDL document that contains a SOAP/JMS binding.
4
Assign the provider web service endpoint alias to the JMS binder.
When the alias is assigned to a JMS binder in a provider web service descriptor, the SOAP-JMS trigger (or WS endpoint trigger) can receive messages that can be processed by the operations in the web service descriptor. The assigned alias creates an association between the SOAP-JMS trigger and the web service descriptor.
The provider web service endpoint alias also includes information that Integration Server needs for generating the WSDL document for a provider web service descriptor. For example, Integration Server uses the SOAP-JMS trigger information to construct most of the JMS URI. Integration Server also uses the alias information to populate the binding elements in the WSDL. This includes JMS message header information for the request message, such as delivery mode and the reply destination.
For more information about assigning web service endpoint aliases to binders, see webMethods Service Development Help.
When you save the web service descriptor, Integration Server deploys the web service to the web services stack. At this point, the web service is available for invocation by web service clients. You can use the WSDL URL property value for the web service descriptor to obtain the WSDL document for the web service and create web service clients.