On 10/2/07, Jens Goldhammer <[EMAIL PROTECTED]> 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"
