ode-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Alex Boisvert" <boisv...@intalio.com>
Subject Re: Error handling in bpel processes
Date Tue, 02 Oct 2007 17:29:56 GMT
On 10/2/07, Jens Goldhammer <Goldhammer.Jens@gmx.net> wrote:
>
> I know there were discussions about faultHandlers, but I have not found
> the
> solution for my problem.
> In my bpel-process I try to invoke several webservices. If a webservices
> has
> an internal error, it throws a defined error back to the bpel process. I
> want to handle it by a local fault handler.
>
> Instead of replying with the message catch log Failure, ode invokes
> nothing
> and the process will not be terminated. The instance is still active!
> (invoked the instancemanagement-api)
>
>

Hi Jens,

Please read the Activity Failure and
Recovery<http://ode.apache.org/bpel-extensions.html#BPELExtensions-ActivityFailureandRecovery>section
of our documentation.  From a process design standpoint,


   - You should declare any business exceptions in your WSDL as faults.
   These are always thrown as-is in the process.


   - Technical failures [1] suspend the invoke activity (by default)
   after a configurable number of retries and retry delay.  Once suspended, the
   invoke requires explicit attention to retry, cancel, or skip the activity
   (via the PM-API).   You have to explicitly set the "faultOnFailure"
   attribute to "true" in order to react to a failure, in which case you should
   be catching the "*ext:activityFailure" fault [2], or use a catchAll.*

alex

[1] Anything that goes wrong, including SOAP Faults not described in the
WSDL, HostNotFound, ServiceNotAvailable, OutOfConnections, etc.

[2] Namespace URI is "http://ode.apache.org/activityRecovery"

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message