When to Use Compensating Services How to Invoke the Compensating Service Additional Tasks Required in Provider ABCS to Implement This MEP How to Ensure Transactions

12-14 Developers Guide for Oracle Application Integration Architecture Foundation Pack For more information about message resubmission, see Using the Message Resubmission Utility in the Oracle Fusion Middleware Infrastructure Components and Utilities Users Guide for Oracle Application Integration Architecture Foundation Pack. This section includes the following topics: ■ Section 12.4.1, When to Use Compensating Services ■ Section 12.4.2, How to Invoke the Compensating Service ■ Section 12.4.3, Additional Tasks Required in Provider ABCS to Implement This MEP ■ Section 12.4.4, How to Ensure Transactions ■ Section 12.4.5, How to Handle Errors

12.4.1 When to Use Compensating Services

Sometimes an automatic correction of data or a reversal of what has been done in requester service is needed. The typical scenario is one in which an error occurs in the transaction and the transactions cannot be rolled back. In these situations, the requester application can implement the compensation service operation and pass the name of the service operation to the provider ABCS. The provider ABCS invokes this compensation service operation if there are errors. There may be a need to implement a compensating service for the requesting service.

12.4.2 How to Invoke the Compensating Service

To invoke the correct compensating service from the providing service: 1. Populate the EBMHeaderSenderWSAddresswsa:FaultTowsa:ServiceName with the name of the compensating service in the transformation used for constructing the request EBM. Example of the name of the compensation service: CompensateCreateOrderSiebelReqABCSImpl For more information about naming, see Chapter 29, Oracle AIA Naming Standards for AIA Development. Figure 12–4 illustrates the structure of the WSAddressType. Constructing the ABCS 12-15 Figure 12–4 Structure of the WSAddressType This information is used in the compensate operation of the EBS to route the request for compensation to the correct compensating service.

12.4.3 Additional Tasks Required in Provider ABCS to Implement This MEP

For information about implementing this MEP, see Section 12.6, Implementing Provider ABCS in an Asynchronous Message Exchange Scenario .

12.4.4 How to Ensure Transactions

For information about ensuring transactions, see Section 13.6.1, How to Ensure Transactions in AIA Services .

12.4.5 How to Handle Errors