What Happens When You Specify XPath Expressions to Bypass Activity Execution

11-2 Oracle Fusion Middleware Developers Guide for Oracle SOA Suite Figure 11–1 provides an example of how a fault handler sets a credit rating variable to -1000. Figure 11–1 Fault Handling The code segment in Example 11–1 defines the fault handler for this operation in the BPEL file: Example 11–1 Fault Handler Definition faultHandlers catch faultName=services:NegativeCredit faultVariable=crError assign name=crin copy from expression=-1000 from to variable=input part=payload query=autoloan:loanApplicationautoloan:creditRating copy assign catch faultHandlers The faultHandlers tag contains the fault handling code. Within the fault handler is a catch activity, which defines the fault name and variable, and the copy instruction that sets the creditRating variable to -1000. BPEL Process receive Credit Rating Service Negative Credit scope WSDL prepare crin assign scope credit to -1000 assign Read crOut assign WSDL d1 d3 f1 reply d2 call service invoke Using Fault Handling in a BPEL Process 11-3 When you select web services for the BPEL process service component, determine the possible faults that may be returned and set up a fault handler for each one.

11.2 Introduction to BPEL Standard Faults

This section identifies the standard faults for BPEL 1.1 and BPEL 2.0.

11.2.1 BPEL 1.1 Standard Faults

This section identifies the standard faults for BPEL 1.1. Unless otherwise noted below, the Business Process Execution Language for Web Services Specification defines the following standard faults in the namespace of http:schemas.xmlsoap.orgws200303business-process: ■ bindingFault BPEL extension fault defined in http:schemas.oracle.combpelextension ■ conflictingReceive ■ conflictingRequest ■ correlationViolation ■ forcedTermination ■ invalidReply ■ joinFailure ■ mismatchedAssignmentFailure ■ remoteFault BPEL extension fault defined in http:schemas.oracle.combpelextension ■ repeatedCompensation ■ selectionFailure ■ uninitializedVariable Standard faults are defined as follows: ■ Typeless, meaning they do not have associated messageTypes ■ Not associated with any Web Services Description Language WSDL message ■ Caught without a fault variable: catch faultName=bpws:selectionFailure

11.2.2 BPEL 2.0 Standard Faults

The following list specifies the standard faults defined within the WS-BPEL specification. All standard fault names are qualified with the standard WS-BPEL namespace. ■ ambiguousReceive ■ completionConditionFailure ■ conflictingReceive ■ conflictingRequest ■ correlationViolation ■ invalidBranchCondition