This topic describes the logic of the Web service's operations, as well as its request and response structure.
You can supply the ID for the transaction in the startOuterTransaction operation. If you do not specify it, the Dgraph process issues a unique outer transaction ID in the response.
While the outer transaction is in progress, update requests to the index that reference the outer transaction ID are processed within the outer transaction. These updates can be made through any of the available interfaces that can issue requests to the server, including the Data Ingest Web Service, the Configuration Web Service, and the Bulk Load Interface. Updating requests from all interfaces except the Bulk Load that don't reference the ID wait until the outer transaction is committed (or rolled back), and are computed based on the published version of the index. (Requests from the Bulk Load interface that don't specify the ID are rejected while the outer transaction is in progress).
If an outer transaction fails to commit, it remains open. You cannot start another outer transaction until you commit or back the outer transaction that failed to commit. You can manually issue a commit or rollback operation to recover from a failed transaction without restarting the Dgraph process for the data domain. (This statement has one exception — if an outer transaction fails to commit because the Dgraph fails, the transaction is not applied and does not require to be committed or rolled back).
To manually end a transaction that failed to commit and roll back the changes, you can issue the rollBackOuterTransaction operation, specifying the ID of this outer transaction. If you roll back an outer transaction, then updating requests that didn't specify the ID and that were waiting in the queue are processed once the transaction is successfully rolled back.
For information on connectors that support transactions, see the Oracle Endeca Information Discovery Integrator ETL User's Guide.
The input to the Web service depends on the operation used and can include any of its operations for starting, committing, or rolling back a transaction, or for listing the outer transaction ID.
In the startOuterTransaction operation, you can provide a transaction ID. If it is not provided, the Dgraph process issues an ID automatically and returns it in the response. In addition, you can use the listOuterTransaction operation to obtain the ID from the Dgraph running in your data domain.
The response to the Transaction Web Service indicates whether each of the operations succeeded or failed.
If any operation does not succeed, the whole Web service transaction returns a SOAP fault and none of the operations are applied.