Re: Issues 76c: sending of fault messages

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

Received on Friday, 12 November 2004 18:40:56 UTC