Integration Server 10.7 | Web Services Developer’s Guide | Using SOAP over JMS with Web Services | Using SOAP/JMS with Web Services with Transactions | Guidelines for Using Transactions with SOAP/JMS and Provider Web Service Descriptors
 
Guidelines for Using Transactions with SOAP/JMS and Provider Web Service Descriptors
If you want to receive and process SOAP/JMS messages for web services as part of a transaction, keep the following requirements and information in mind:
*The WmART package must be installed and enabled.
*The SOAP-JMS trigger must be transacted. A transacted SOAP-JMS trigger is one that executes as part of a transaction. A transacted SOAP-JMS trigger uses a transacted JMS connection alias. A JMS connection alias is considered to be transacted when it has a transaction type of XA_TRANSACTION or LOCAL_TRANSACTION. For information about creating a JMS connection alias, see the section Creating a JMS Connection Alias in the webMethods Integration Server Administrator’s Guide. Creating a JMS Connection Alias.
*Transactions can be used with In-Only operations only. Use a transacted SOAP-JMS trigger to receive messages for web services with In-Only operations only. Do not use a transacted SOAP-JMS trigger to receive messages for web services that have Robust-In-Only or In-Out operations.
*Transactions cannot be used with service handlers. Do not use a transacted SOAP-JMS trigger with a provider web service descriptor that has service handlers.
*The execution of a transacted SOAP-JMS trigger is an implicit transaction. In an implicit transaction, Integration Server starts and completes the transaction automatically. You do not need to code your service to include any of the transaction management services in the WmART package. Integration Server starts the implicit transaction when it receives the SOAP/JMS message from the JMS provider. Integration Server implicitly commits or rolls back the transaction based on the success or failure of the trigger service.
*Integration Server commits the transaction if the web service operation executes successfully.
*Integration Server rolls back the transaction if the web service operation fails with an ISRuntimeException (a transient error). For detailed information about how Integration Server handles a transient error within a transaction, see Transient Error Handling for an Operation Invoked by a Transacted SOAP-JMS Trigger.
*Integration Server rolls back the transaction if the web service operation fails with a ServiceException (a fatal error).