The compensating action facility, an optional feature of Connect SOAP and Connect dotNet rules, allows a custom activity to update the PRPC application data to back out or negate the effects of a connector failure.
See Using Compensating Actions, a document on the PDN, for a more complete explanation of compensating action and working example.
When an application uses a connector to send or update information in an external system, the connector may fail for various reasons. If not corrected, the data in the PRPC system may reflect an assumption that the external system was notified or updated correctly.
For example, a PRPC customer service application may send a refund transaction to an external customer accounting system, reflecting a decision by a customer service representative. This information may use a Connect SOAP interface. Even when fully tested and operational, this connector may fail at times, returning a reject message or never returning at all.
In more complicated scenarios, the failure of one connector call may require the effects of several previous connector calls — possibly successful calls — to be negated to preserve transaction integrity across two systems.
While the activity perform the negation must meet your custom requirements, the following rules and facilities are defined to support compensating actions:
Page
mode property that holds work-object-level properties affecting compensation.The compensation activity may create and use an internal tree data structure to identify and sequence the operations it performs, and can communicate with an external transaction coordinator.