Transaction Atomicity for Record Web Services

Use Transaction Atomicity to atomize the transaction on the commands included in the <Transaction> element. If a command specified in the <Transaction> element fails, the transaction is not processed. Transaction atomicity applies to the Create, Update, and Delete operations performed on a record.

For more information on these operations, refer to CRUD Operations.

Warning: The Transaction Atomicity feature currently does not support synchronous workflows due to concerns over long running or suspended workflow logic.

To enable the Transaction Atomicity feature, specify the atomic attribute in the <Transaction> element. You can specify any one of the following values for the atomic attribute:

  • on: all commands are processed together as an atomic operation. You can set atomic="on"for the following web services:
    • Record Add or Modify Services
    • Record Delete Service
      Warning:
      • The Transaction Atomicity feature does not work for the Record Query web service. If you specify atomic="on" for the Command type="Query", the following error message is displayed:
Only Record Add/Modify/Delete commands should be part of atomic transaction.
      • The Add and Modify commands of the same record are not supported in a atomic transaction because the record should be persisted before to get it modified.
  • off: each command is processed as a separate transaction.
    Tip: For non-atomic transaction, when a request contains two related MasterCatalogRecords in one command, specify the commands in the following order:

    Add parent record

    Add child record

    Modify parent record to establish relationship between parent and child records

Using the following scenarios, you can process a record web service request with the multiple commands performing CUD operations. The operations are specified as an atomic process within the <Transaction> element.