Table of Contents

Search

  1. Preface
  2. Welcome to Informatica Process Developer
  3. Using Guide Developer for the First Time
  4. Getting Started with Informatica Process Developer
  5. About Interfaces Service References and Local WSDL
  6. Planning Your BPEL Process
  7. Participants
  8. Implementing a BPMN Task or Event in BPEL
  9. Implementing a BPMN Gateway or Control Flow
  10. Using Variables
  11. Attachments
  12. Using Links
  13. Data Manipulation
  14. Compensation
  15. Correlation
  16. What is Correlation
  17. What is a Correlation Set
  18. Creating Message Properties and Property Aliases
  19. Adding a Correlation Set
  20. Deleting a Correlation Set
  21. Adding Correlations to an Activity
  22. Rules for Declaring and Using Correlation Sets
  23. Correlation Sets and Engine-Managed Correlation
  24. Event Handling
  25. Fault Handling
  26. Simulating and Debugging
  27. Deploying Your Processes
  28. BPEL Unit Testing
  29. Creating POJO and XQuery Custom Functions
  30. Custom Service Interactions
  31. Process Exception Management
  32. Creating Reports for Process Server and Central
  33. Business Event Processing
  34. Process Central Forms and Configuration
  35. Building a Process with a System Service
  36. Human Tasks
  37. BPEL Faults and Reports

2. Designer

2. Designer

Using a Variable from a Catch or Interrupting OnEvent Boundary Event

Using a Variable from a Catch or Interrupting OnEvent Boundary Event

An interrupting
onEvent
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
parameters
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
parameters
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
OnEvent
boundary event, you can select an existing process variable or create a new variable in the Variable drop-down.
Example
The following illustration shows the Properties for an interrupting
OnEvent
boundary event.
Properties of interrupting boundary event
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,
customerComplaint
.
<bpel:eventHandlers> <bpel:onEvent aei:boundaryEvent="interrupting" element="ns6:customerComplaint" ext1:handleIMAInEnclosingScope="true" operation="getComplaint" partnerLink="RepairServices" variable="parameters"> <bpel:scope> <bpel:assign ext1:mutexTransitions="yes"> <bpel:sources> <bpel:source linkName="L5"/> </bpel:sources> <bpel:copy> <bpel:from variable="parameters"/> <bpel:to variable="customerComplaint"/> </bpel:copy> </bpel:assign> </bpel:scope> </bpel:onEvent> </bpel:eventHandlers>


Updated March 30, 2020