Fault Handler
Status: Pre-Alpha
Brought to you by:
patforna
In Soya there is currently no handler for dealing with incoming SOAP faults. For example, it is not possible to handle an incoming fault of, for instance, the MEP robust-out-only pattern.
I think it is a necessity to provide such a handling mechanism. If not per operation, then at least a generic fault handler per service.
Logged In: YES
user_id=867752
Originator: YES
The problem applies to all MEP patterns that define faults.
One possibility could be providing a field (ThreadLocal) on SoyaOperationContext that contains the Fault, e.g.
[Mep(Style = MepStyle.InOut, Out = typeof(O), Fault = typeof(F)]
public void Process(MyMessage m) {
if (m == null) {
F fault = SoyaOperationContext.GetFault<F>();
if (fault != null) {
// process fault F
} else {
// do something else
}
}
}