You can build graphs that commit or roll back an outer transaction that failed to commit successfully.
This procedure assumes that you have added a OUTER_TRANSACTION_ID variable to the project's workspace.prm file.
In some instances, you may have a graph that starts an outer transaction but fails to commit it. This may happen, for example, when you are creating a new graph and troubleshooting its sub-graphs. If any of the sub-graphs fail, the entire graph running an outer transaction may fail also.
Since only one outer transaction can be in progress at a time, if the graph running an outer transaction fails, you cannot run any other graphs that start outer transactions until the outer transaction that is in progress is committed. In such cases, you can commit an outer transaction manually.
Typically, you may need to close an already running outer transaction after you receive a transaction-related error, when trying to run one of your graphs. To identify whether an outer transaction is currently running, use the listOuterTransaction operation of the Transaction Web Service.
To create a commit transaction or rollback transaction graph:
http://localhost:7770/ws/transaction/bikes?wsdlThe URL command returns the WSDL of the Transaction Web service.
<ns:request xmlns:ns="http://www.endeca.com/MDEX/transaction/1/0"> <ns:commitOuterTransaction> <ns:OuterTransactionId>${OUTER_TRANSACTION_ID}</ns:OuterTransactionId> </ns:commitOuterTransaction> </ns:request>For a rollback transaction operation, add this text instead:
<ns:request xmlns:ns="http://www.endeca.com/MDEX/transaction/1/0"> <ns:rollBackOuterTransaction> <ns:OuterTransactionId>${OUTER_TRANSACTION_ID}</ns:OuterTransactionId> </ns:rollBackOuterTransaction> </ns:request>