Chapter 6, Fault Handling and Signaling

Pop quiz

Q1

<throw> is used to signal faults explicitly from the BPEL process. But <rethrow> is used only within a fault handler like <catch> or <catchAll> to propagate the caught fault to the enclosing scope explicitly.

Q2

A pair of <receive> and <reply> is used to propagate a fault back to a synchronous client where a pair of <receive> and <invoke> is used to propagate a fault back to an asynchronous client.

Q3

<catch faultName="fltns:faultName" >
   ...
</catch>

<catch faultVariable="fltns:faultVariable" >
   ...
</catch>

<catch faultName="fltns:faultName" faultVariable="fltns:faultVariable" >
   ...
</catch>

<catch faultName="fltns:faultName" faultVariable="fltns:faultVariable" faultMessageType="xmlns:faultMessaheTypefaultMessageTypefaultMessaheType">
   ...
</catch>

<catch faultName="fltns:faultName" faultMessageType="xmlns:faultMessaheTypefaultMessageTypefaultMessaheType" >
   ...
</catch>

<catch faultName="fltns:faultName" faultElement="xmlns:faultElement" >
   ...
</catch>

Q4

<catch><!--with no attributes-->
   ...
</catch>

<catch faultName="fltns:faultName" faultElement="xmlns:faultElement"><!--faultElement or faultMessageType attributes cannot exist without faultVariableattibute-->
   ...
</catch>

   <catch faultVariable="fltns:faultVariable"    faultMessageType="xmlns:faultMessaheTypefaultMessageTypefaultMessaheType" faultElement="xmlns:faultElement"><!--Either one attribute that is faultMessageType or faultElement can exist with faultVariable attribute. Not Both-->
   ...
</catch>
..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset