Integration Server 10.3 | Web Services Developer’s Guide | Using SOAP over JMS with Web Services | Using SOAP/JMS with Provider Web Service Descriptors | Additional Guidelines for Using SOAP/JMS with Provider Web Service Descriptors
 
Additional Guidelines for Using SOAP/JMS with Provider Web Service Descriptors
When using SOAP/JMS with provider web service descriptors, keep the following information in mind:
*After assigning an alias to a JMS binder in a provider web service descriptor, the web service descriptor has a dependency on the SOAP-JMS trigger. Consequently, at start up or when reloading the package containing the web service descriptor, Integration Server must load the SOAP-JMS trigger before loading the web service descriptor. If the SOAP-JMS trigger and web service descriptor are not in the same package, you need to create a package dependency. The package that contains the web service descriptor must have a dependency on the package that contains the SOAP-JMS trigger. For information about creating package dependencies, see webMethods Service Development Help.
*A SOAP-JMS trigger receives a JMS message from a destination and passes the SOAP message used as the payload on to the web services stack for processing. The web services stack determines which operation to invoke. It is possible for the web services stack to invoke an operation in a provider web service descriptor that is not affiliated with the SOAP-JMS trigger through a web service endpoint alias.
*If you suspend or disable a SOAP-JMS trigger, the SOAP-JMS trigger will not retrieve any messages from the destination to which the trigger subscribes.
*If you delete a SOAP-JMS trigger specified in a provider web service endpoint alias, any provider web service descriptor with a binder to which the alias is assigned cannot be deployed to the web services stack. As a result, a WSDL document will not be available for the provider web service descriptor.
*If you rename a SOAP-JMS trigger, you need to update any provider web service endpoint alias that uses that trigger with the new name.
*The transient error handling for the SOAP-JMS trigger overrides any transient error handling configured for the service used as the operation. For details about how Integration Server handles transient errors for web services that process SOAP/JMS messages, see Transient Error Handling for Provider Web Service Descriptors.
*Integration Server does not perform any transient error handling for handler services. Integration Server ignores any transient error handling properties configured for the service handlers and does not use the transient error handling defined for the SOAP-JMS trigger. The handler services need to be coded to handle any errors or exceptions that may occur and return the appropriate status code.
*When creating the reply JMS message, Integration Server uses the same message type as the request (BytesMessage or TextMessage). However, if the server parameter watt.server.soapjms.defaultMessageType is set to TextMessage, Integration Server overrides the request and sends the response as TextMessage. It may be useful to send the response as a TextMessage for debugging purposes.
*Integration Server has additional guidelines for using a transacted SOAP-JMS trigger with a web service descriptor. For more information about using transactions with web service descriptors and SOAP/JMS, see Using SOAP/JMS with Web Services with Transactions.