Sorry for the false alarm. Closer inspection of the text file I now see that the throw is outside the looped scope.

Bill McCusker wrote:
From inspecting the bpel process the reason not all scopes are compensated when the throw is inside the while loops is because an exception is now being thrown from inside a scope intended to be compensated. According to section 12.4.3 in the BPEL 2.0 specification a compensation handler is only available when a scope completes successfully. This is why moving the throw out of the loops results in expected compensation since all of scopes now complete successfully.

Bill McCusker

Reply via email to