boundary event as well as a catch boundary event are Process Developer extensions. As such, the variable handling for these events differs from normal BPEL fault and event handling.
Catch Boundary Event Variable Handling
If you want to define a variable for a catch boundary event, you must select an existing process variable or create a new process variable in the Fault Variable picklist.
This differs from defining a variable in a normal scope catch handler, where you can type in a special fault variable name.
This difference arises because in a normal catch handler, the fault variable is used within an activity that is enclosed by the scope. In an interrupting boundary event, there is no activity within the event handler. Instead, the boundary event links to an activity in the process or another scope.
Behind the scenes, Process Developer generates the activities needed in order to use boundary event variables. Process Developer creates an implicit
variable for the catch that is available only within a hidden scope containing the catch boundary event. Therefore, to define a variable for use in another part of the process, such as a reply with fault, you must select a process variable or create a new process variable. Process Developer maps the implicit
variable to the process variable. See the example below.
Interrupting OnEvent Boundary Event
The variable handling is essentially the same as for a catch boundary event. In the Properties view of an interrupting
boundary event, you can select an existing process variable or create a new variable in the Variable drop-down.
The following illustration shows the Properties for an interrupting
In the BPEL source code, notice that a scope with an assign is added. The assign copies the implicit scope variable, parameters, to the process variable,
<bpel:onEvent aei:boundaryEvent="interrupting" element="ns6:customerComplaint"