You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@ode.apache.org by Ju...@empolis.com on 2008/07/08 11:25:57 UTC

RE: Extension Activities and Error Handling

Hi again,

A quick follow-up to an earlier question:

> -----Original Message-----
> From: matthieu.riou@gmail.com 
> Sent: Monday, June 23, 2008 4:54 PM
>
> On Mon, Jun 23, 2008 at 6:35 AM, <Ju...@empolis.com> wrote:
> > I have a question concerning the handling of errors in extension activities. 
> > Currently I use extensionContext.completeWithFault(Throwable) when my extension 
> > activity fails. But the complete MessageExchange with the BPEL process 
> > is then always completed with AckType FAILURE, failure type 
> > NO_RESPONSE and explanation "Process completed without responding", 
> > but no further details (like the exception message) seem to be 
> > returned. Is this "works as designed"?
> 
> IIRC, failures aren't propagated to the client like faults 
> are for security reasons. I'm not sure I totally buy this idea though.

I'm not sure what these security reasons should be ... anyway:
I've done a bit code reading today and found these lines in 
BpelRuntimeContextImpl.cleanupOutstandingMyRoleExchanges():

    if (optionalFaultData != null) {
        mexDao.setFaultExplanation(optionalFaultData.toString());
    }
    mexDao.setFaultExplanation("Process completed without responding.");

So first my error explanation is set and then immediately overwritten again.
Is this really intended this way? Or is there maybe just an "else" missing?
(hopefully ;-)

Thanks and Cheers,
Juergen.