Issue 100 (MustUnderstand fault caused by block addressed to anot her node)

Context: at today's WG conference call, we discussed whether issue 100 [1]
was resolved in our current working draft.  I volunteered to look at the
text and report to the group at large.

After reading section 2.5 of the SOAP 1.2 specification [2] carefully, I
posit that no position is taken by the current spec as to whether it is
permissible to send a fault when the ultimate destination of a message
receives a header block which a) is marked mustUnderstand="1", and b) is
addressed to an actor which does not target the node at the ultimate
destination.

The processing model certainly does not require such a fault, and it almost
precludes it.  Bullet item #2 in section 2.5 says "process SOAP blocks
targeted at the SOAP node...", implying that other blocks (such as the
imagined mustUnderstand="1" block) should NOT be processed except inasmuch
as they may be examined as a result of processing other blocks which *are*
targeted at the node.  So I believe you could interpret this as allowing the
processor to, as part of processing the Body, for instance, perform the
"check for mustUnderstands not directed at me" step and generate a fault if
you find any.

To sum up - I do not think that issue 100 is firmly resolved in the current
spec, and since it is an interesting and somewhat murky case we should
probably make our viewpoint on it a bit crisper.

<personal opinion>

I don't believe we can or should actually prohibit producing a fault based
on any information the paricular application decides to examine.  However, I
think mandating a fault like this might be a bad idea, as it would enforce a
more complex processing model for a standard SOAP engine (which would need
to always know if it was the ultimate destination, and tweak the
mustUnderstand processing if so).

I think the core issue that proponents of the faulting model are concerned
about is the fact that there are sometimes blocks which a client sends that
are highly important, which simply should not make it to the endpoint
without being processed.  This seems to me to be a very important issue, but
not necessarily one which we should change the core processing model to
handle.

I would propose that this is perhaps more in the realm of something like
Noah's suggested "mustHappen" extension (described in [3]), and should
perhaps be attacked as such.  If viewed as important enough, I could see
making this sort of thing a normative extension.

</personal opinion>

--Glen

[1] http://www.w3.org/2000/xp/Group/xmlp-issues#x100
[2] http://www.w3.org/2000/xp/Group/1/06/01/xmlp-soap-02.html
[3] http://lists.w3.org/Archives/Public/xml-dist-app/2001May/0310.html

Received on Wednesday, 18 July 2001 17:29:10 UTC