Which of the following statements are true about BPEL fault handling?
-
BPEL code which can generate faults should be placed within a try-catch block
-
BPEL code which can generate faults should be placed within a catch block
-
Several catch blocks can be added to the same BPEL scope
-
The CatchAll block cannot be used if a catch block is used in a scope
BPEL fault handling uses catch blocks within scopes to handle specific fault types (Option B). Multiple catch blocks can handle different fault conditions in the same scope (Option C). Option A is incorrect - BPEL doesn't use 'try-catch' terminology. Option D is incorrect - CatchAll can be used with catch blocks.
In BPEL, fault handling code is written inside a (or) block attached to a scope, not a try-catch construct (which is a general-purpose language idiom, not BPEL syntax). A single scope can declare multiple catch blocks, each matching a different fault type, similar to multiple catch clauses in Java. The catchAll block can still be used alongside specific catch blocks to handle any fault not matched by them.