Heylas,
On Fri, 12 Nov 2004 10:00:33 -0800
Hugo Haas <hugo@w3.org> wrote:
> We discussed yesterday issue 76c[1] about fault messages in the MEPs
> we define.
>
> The Group's understanding was that, at the MEP level, the description
> of the message exchange was clearly to send back a fault, but that a
> binding may want to allow an agent not to send the fault, e.g. for
> optimization purposes.
>
> Is that correct?
I think that I might phrase it differently, with nearly the same
results.
As the BEA folks pointed out, the MEPs define propagation rules for
faults. So, first, there's a difference between generation and
propagation. I think this is your "send back a fault." A problem here
is "back" since the fault propagation rulesets define the target node,
based on whether its fault-replaces-message versus
message-triggers-fault (in the latter case, "back" is apt, but it may
well not be for the former).
Okay. A part of the goal of the rulesets, like the MEPs, is to allow
the contract to be clear. So, if a fault is generated, and the ruleset
provides a direction and target for propagation, then it should be
propagated, and a binding that doesn't want to do that ought not be
using that ruleset.
On the other hand, it may not be possible (for a variety of reasons, all
transient rather than due to the constraints imposed by the binding) to
send the message. There is no guarantee that an agent will *succeed* in
sending a fault. There is only a requirement that it try.
Consequently: a *binding* may not arbitrarily change the ruleset, making
faults optional in the name of optimization. A binding that needs to do
so should define a different ruleset, clearly. An agent, however, after
having made a best effort to propagate a generated fault, may not be
able to do so. The binding may, in fact, provide guidelines on what
"best effort" means, in context of the binding.
So: a fault propagation ruleset may not be arbitrarily modified by a
binding. When a fault is generated, an agent is required to make best
effort to propagate the fault by the rules specified. A binding may,
however, clarify the meaning of "best effort" for agents using that
binding.
> If so, we should clarify this and consider it in the context of our
> SOAP 1.2 binding, which is being called out in the issue.
>
> 1. http://www.w3.org/2002/ws/desc/4/lc-issues/#LC76c
Does the above help any?
Amy!
--
Amelia A. Lewis
Senior Architect
TIBCO/Extensibility, Inc.
alewis@tibco.com