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

Designer

Designer

Fault Handling for Service Invocations

Fault Handling for Service Invocations

A fault response to an invoke activity uses the definition of the fault in the WSDL operation. A WSDL fault is defined by using the target namespace of the port type and the fault name.
Example: Purchase Order BPEL Process
In a normal purchase order BPEL process, the following steps occur:
  1. A customer sends in a purchase order.
  2. The BPEL process receives a purchase order and performs tasks for calculating shipping and production costs.
  3. The BPEL process returns an invoice to the customer.
If something goes wrong, the process returns an error. Fault messages are defined in the WSDL file and used in the BPEL process as described in the following example:
WSDL Fault Definition
BPEL Fault Handling for Service Invocation
<portType name="POrderPT"> <operation name="sendPOrder"> <input message="..."/> <output message="..."/>
<fault name
="cannotCompletePO" message="pos:orderFaultType"/> </operation> </portType>
<faultHandlers> <catch faultMessageType="ns1:errorMessage"
faultName=
="lns:cannotCompletePO" faultVariable="POFault"> <reply partnerLink="purchasing" operation="sendPOrder" variable="POFault"
faultName
="lns:cannotCompletePO"/> </catch> </faultHandlers>
In the WSDL definition above, the operation called
sendPOrder
specifies the fault named
cannotCompletePO
that is used by the BPEL process if the purchase order cannot be completed. In the BPEL process fault handlers section, the catch activity contains a reply defined to return a message in the
POFault
variable in the event that a fault is received.
When an invoke operation returns a fault message, it causes a fault in the current scope. The fault variable in the corresponding
<catch>
is initialized with the fault message received.
If a Web service operation is not defined with a fault message, you can use the Process Developer custom functions to catch undeclared faults.
For more information, see
Adding a Fault Handler as a Boundary Event for an Invoke Activity
and
Catching Undeclared and SOAP Faults
.

0 COMMENTS

We’d like to hear from you!