<compensate>
Invoke a <compensationhandler> from <catch> or <catchall>.
Syntax
<scope>
<throw fault='"BuyersRegret"'/>
<faulthandlers>
<catch fault='"BuyersRegret"'>
<compensate target="RestoreBalance"/>
</catch>
</faulthandlers>
<compensationhandlers>
<compensationhandler name="RestoreBalance">
<assign property='context.MyBalance' value='context.MyBalance+1'/>
</compensationhandler>
</compensationhandlers>
</scope>
Details
Attribute or Element | Description | Value |
---|---|---|
target attribute | Required. The name of a <compensationhandler> that provides a sequence of activities to undo previous actions. | A string of 0 to 255 characters. |
<annotation> element | See “Common Attributes and Elements.” |
Description
The <compensate> element invokes a <compensationhandler> block by specifying its name as a target:
<compensate target="general"/>
<compensate> may only appear within <catch> or <catchall>. Its target value must match the name of a <compensationhandler> within the same BPL business process.
For details, see “BPL Error Handling Conventions” in Developing BPL Processes.