Enabling Transactions in SOAP and JMS Bindings

You can enable transactions in a SOAP or JMS binding by configuring intents and policy sets.

Prerequisites

All components must be enabled with the Global Managed Transaction intent.
For information on intents and policy sets, refer to Policy Management.
Restriction: The following limitations apply when using transactions with SOAP and JMS bindings:
  • Transactions are supported only in a single node.
  • Transactions are supported only for In-only MEP.
  • Configuring Transacted OneWay intent and JMS Transacted OneWay policy set in the Administrator UI is not supported.
Here is a summary of the key steps for enabling transactions in SOAP or JMS bindings (both on the service and reference side):

Procedure

  1. For the SOAP or JMS binding, select Transacted OneWay as the intent and JMS Transacted OneWay as the policy set.



  2. For all components, select Global Managed Transactions as the intent and ManagedTransaction as the policy set. This is a pre-requisite for JMS Transacted OneWay.
  3. Ensure that the JDBC resource template is configured correctly:
    1. The Connection Type field is set to XA.
    2. The right data source class is set in the Data Source Class Name field.
  4. Ensure that the JMS Connection Factory resource template is configured correctly. The Connection Factory field is set to XAConnectionFactory.
  5. For the Enterprise Message Service server used by the SOAP or JMS binding, ensure that XAConnectionFactory is present in the connection factory definitions section of the factories.conf file.
    [XAConnectionFactory]
    type  =  xageneric
    url   =  tcp://port
    The default location of the factories.conf file depends on the operating system:
    • Windows - C:/Documents and Settings/user name/Application Data/EMS_HOME/tibco/cfgmgmt/ems/data/factories.conf.
    • Unix - EMS_HOME/tibco/cfgmgmt/ems/data/factories.conf.