Re: An analysis of mustUnderstand and related issues

Marc Hadley has noted some important and rather blatant errors in the 
syntax of my proposal.   I wrote the analysis as if SOAP were structured 
as (namespaces and prefixes left off for brevity):

<Envelope>
        <Header>
             <ActionForHeaderOne>...</ActionForHeaderOne>
        </Header>
        <Header mustUnderstand="true">
             <ActionForHeaderTwo>...</ActionForHeaderTwo>
        </Header>
        <Body>
                ...
        </Body>
</Envelope>

That's just wrong.  I guess it's been too long since I wrote any actual 
SOAP messages, and I was rushing too much.  As most of you presumably 
know, the correct structure of a SOAP message is approximately: 

<Envelope>
        <Header>
                <ActionForHeaderOne>
                  ...
                </ActionForHeaderOne>
                <ActionForHeaderTwo mustUnderstand="true">
                  ...
                </ActionForHeaderTwo>
        <Header>
        <Body>
                ...
        </Body>
</Envelope>

Marc and I seem to be in agreement that this error, while significant and 
a bit embarassing, affects primarily syntax, and not the more substantive 
aspects of the analysis and the proposals.  My apologies to the group.  I 
will try and produce a corrected version later this week.  Thank you, 
Marc, for pointing this out.

Noah
 


----- Forwarded by Noah Mendelsohn/CAM/Lotus on 05/16/2001 09:04 AM -----


"Marc J. Hadley" <marc.hadley@sun.com>
05/15/2001 12:48 PM

 
        To:     Noah_Mendelsohn@lotus.com
        cc: 
        Subject:        Re: Possible error in 'An analysis of mustUnderstand and related issues'


Noah,

Forgive me if I am wrong, but I think there are some syntactical errors
in your proposal. In particular, I believe SOAP/1.1 only allows a single
Header element with multiple child entries. The relevant part of the
schema is:

<complexType name="Envelope">
  <sequence>
    <element ref="tns:Header" minOccurs="0"/>
    <element ref="tns:Body/>
    <any minOccurs="0" maxOccurs="unbounded"/>
  </sequence>
  <anyAttribute>
</complexType>

The mustUnderstand and actor attributes apply to the direct children of
the Header element, not the Header element itself, e.g.

<SOAP-ENV:Header>
  <t:transaction xmlns:t="someuri"
SOAP-ENV:mustUnderstand="1">5</t:transaction>
  <a:credentials xmlns:a="someotheruri"
SOAP-ENV:mustUnderstand="1">1234567890</t:transaction>
</SOAP-ENV:Header>

In your examples you have multiple Header elements and the text also
talks about multiple Header elements rather than header entries.

Regards,
Marc.

--
Marc Hadley <marc.hadley@sun.com>
Tel: +44 1252 423740
Int: x23740




------------------------------------------------------------------------
Noah Mendelsohn                                    Voice: 1-617-693-4036
Lotus Development Corp.                            Fax: 1-617-693-8676
One Rogers Street
Cambridge, MA 02142
------------------------------------------------------------------------

Received on Wednesday, 16 May 2001 09:49:20 UTC