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

Rules for Catching Faults in a Catch Activity

Rules for Catching Faults in a Catch Activity

A catch activity can include a fault name and/or a fault variable. The fault variable can be defined as a WSDL message type or a schema element. The schema element can be a member of a substitution group defined in a WSDL's schema, or it can be a single-part message defined as an element.
The fault matching logic for WS-BPEL is a best match strategy. This means that the available catch elements are analyzed to determine which catch is the best match for the given fault. Contrast this with the fault matching logic for a language like Java which has a first match strategy. Because of the best match strategy, the order of the elements within the fault handlers does not affect which catch element is matched.
It is possible that more than one catch will match to a given fault. In this case, the catch that is matched with the higher priority rule is selected. In the case where two catch elements are selected by the same rule, then the best match is determined by whichever catch element declares an element variable that is closer to the fault element in terms of its substitution group hierarchy.
The priority system first considers whether a catch has a only a fault name or a fault name with data. The highest priority is for a catch with only a fault name and no data.
For catches with fault data, Process Developer executes catches, in the order described in the following table.
Catch Order
Fault handler option selected
Variable Type Definition
Data from the Fault Variable
Catching a fault with a fault name, but no variable data:
1
Fault Name only
none
none
Catching a fault with variable data:
2
Fault Name and Variable
message or element
message or element
3
Fault Name and Variable
element
element (substitution group)
4
Fault Name and Variable
element
single part element message
5
Fault Name and Variable
element
single part element message (substitution group)
6
Fault Name only
none
message or element is ignored but is rethrown to enclosing scope
7
Variable only
message or element
message or element
8
Variable only
element
element
9
Variable only
element
single part element message
10
Variable only
element
single part element message (substitution group)
For details on execution rules for catch/catch all, see Fault Handling Processing Rules.


Updated March 30, 2020