2009/9/29 Sebastian Gomez <[email protected]>:
> Hi everyone.
> I'd like to know if there are some kind of best practices for handling
> faults in ODE when it's integrated in ServiceMix 3. I've had a look at the
> test cases in the ODE distribution, but they aren't very extensive. Could
> someone number a few steps to follow to manage error cases the best way
> possible? i.e Is it necessary to declare the fault message in the WSDL? Is a
> fault thrown everytime ODE receives a JBI message with an error? ...
>
> I'd also appreciate anyone pointing out any documentation about fault
> handling, I've searched everywhere and can only find the User Guide in the
> ODE homepage.

Well, there are two types of errors - failures and faults (it's
described in user manual).
Failures are used when delivery error occurs and are hadled by
activityRecovery (for example manually).
As for faults in SMX, there is ServiceMixMapper class, which converts
NMR message into ODE message.
It uses WSDL declarations from BPEL imports to convert NMR fault into
WSDL declared fault message (ODE requires wsdl declared messages for
faults as well as for in/outs).
In bpel, if you want to catch such fault, you need to use <catch
faultMessageType=".."> syntax.
I think you can use example from axis2-war tests
http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.X/axis2-war/src/test/resources/TestStructuredFault/

You can also use catchAll if you don't want to declare WSDL fault message.

Regards,
-- 
RafaƂ Rusin
http://www.touk.pl
http://top.touk.pl
http://www.mimuw.edu.pl/~rrusin

Reply via email to