0% found this document useful (0 votes)
240 views6 pages

Error Handling in Oracle Service Bus

Faults in Oracle Service Bus can be handled at different levels within a proxy service, including globally at the service level, at the request/response pipeline level, or individually at the stage or route level. Faults caught by OSB contain information stored in the $fault context variable, including an error code, reason, details, and location. Faults received or sent externally are wrapped as SOAP faults within the $body context variable.

Uploaded by

Anthony
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPSX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
240 views6 pages

Error Handling in Oracle Service Bus

Faults in Oracle Service Bus can be handled at different levels within a proxy service, including globally at the service level, at the request/response pipeline level, or individually at the stage or route level. Faults caught by OSB contain information stored in the $fault context variable, including an error code, reason, details, and location. Faults received or sent externally are wrapped as SOAP faults within the $body context variable.

Uploaded by

Anthony
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPSX, PDF, TXT or read online on Scribd
You are on page 1/ 6

Error Handling in Oracle Service Bus

Faults in Oracle Service Bus can be handled in the Proxy Services. Typically faults can be handled within the Proxy Service at the following places:
SERVICE : AT THE GLOBAL SERVICE LEVEL. THIS IS THE HIGHEST LEVEL OF FAULT HADLING. ALL FAULTS IN THE SERVICE ARE HANDLED HERE PIPELINE : FAULTS CAN BE HANDLED AT THE REQUEST OR RESPONSE PIPELINES. ALL FAULTS WITHIN THAT PIPELINE SCOPE ARE HANDLED STAGE: STAGE LEVEL FAULT HANDLING ALLOWS TO HANDLE FAULTS WITHIN THE SCOPE OF A PARTICULAR STAGE ROUTE: FAULTS CAN ALSO BE HANDLED FOR THE ROUTE NODE TO HANDLE COMMUNICATION FAULTS

SERVICE LEVEL ERROR HANDLING


ERROR HANDLER
ERROR HANDLER STAGE

RETURN AN ERROR TO THE CLIENT ASSIGN SOAP FAULT TO BODY

Fault caught by OSB at runtime are automatically propagated in the $fault context variable. The $fault context variable is defined as the following complex type. This means that the $fault context variable has the following information:
<complexType name="FaultType"> <all> <!-- A short string identifying the error (e.g. BEA38229) --> <element name="errorCode" type="string"/> <!-- Descriptive text explaining the reason for the error --> <element name="reason" type="string" minOccurs="0"/> <!-- Any additional details about the error --> <element name="details" type="anyType" minOccurs="0"/> <!-- Information about where the error occured in the proxy --> <element name="location" type="mc:LocationType" minOccurs="0"/> <!-- Information about the exception instance reference stored in the object repository --> <element name="java-exception" minOccurs="0"> <complexType> <sequence> <element ref="mc:java-content"/> </sequence> </complexType> </element> </all> </complexType>

Fault caught by OSB from external systems or faults thrown by OSB to external systems is part of the SOAP fault and is wrapped inside the $body context variable as shown below
<Body xmlns="http://schemas.xmlsoap.org/soap/envelope/"> <Fault> <faultCode>String</faultCode> <faultstring>String</faultstring> <detail> <fault> <source>String</source> <errorCode>String</errorCode> <description>String</description> <faultInstance>String</faultInstance> <property> <property name="String"> <value>String</value> </property> </property> <timestamp>2001-12-17T09:30:47Z</timestamp> </fault> </detail> </Fault> </Body>

You might also like