Taxonomy of BPEL Faults

A bpel fault has a fault name, which is a qname (name qualified with a namespace), and a possible messageType. There are two categories of faults in BPEL: business faults and runtime faults.

Business faults are application specific faults and occur when an explicit <throw> activity is executed or an <invoke> activity gets a fault as response. The fault name of a business fault is specified by the BPEL process and the messageType, if one exists, is defined in the WSDL.

Runtime faults are not user defined and will not appear in the WSDL for a process or service. The BPEL spec defines 11 standard faults: selectionFailure, conflictingReceive, conflictingRequest, mismatchedAssignmentFailure, joinFailure, forcedTermination, correlationViolation, uninitializedVariable, repeatedCompensation and invalidReply. They are all in the namespace "http://schemas.xmlsoap.org/ws/2003/03/business-process/" and are typeless, meaning they don't have associated messageTypes. The Oracle BPEL Process Manager also introduces two more runtime faults: bindingFault and remoteFault. They are in the namespace of "http://schemas.oracle.com/extension" and are associated with an Oracle defined messageType "RuntimeFaultMessage". The WSDL that defines the RuntimeFaultMessage messageType is available in the c:/orabpel/system/xmllib directory.

RemoteFault is retryable. It has the following possible fault codes

FaultCode Reason
ConnectionRefused The remote server is not up
WSDLReadingError Fail to read WSDL
GenericRemoteFault Generic remote fault

BindingFault is not retryable. It has the following possible fault codes:

FaultCode Reason
VersionMismatch The processing party found an invalid namespace for the SOAP Envelope element
MustUnderstand An immediate child element of the SOAP Header element that was either not understood or not obeyed by the processing party contained a SOAP mustUnderstand attribute with a value of "1"
Client.GenericError Generic error at client side
Client.WrongNumberOfInputParts input message part number mismatch
Client.WrongNumberOfOutputParts output message part number mismatch
Client.WrongTypeOfInputPart input message part type error
Client.WrongTypeOfOutputPart output message part type error
Server.GenericError Generic error at server side
Server.NoService Server is up but no service
Server.NoHTTPSOAPAction Request is missing HTTP SOAP Action
Server.Unauthenticated Request is not authenticated
Server.Unauthorized Request is not authorized

      Tech/BPEL PM  |  2009. 3. 13. 16:57



archidream's Blog is powered by Daum