Re: Updated proposal for issue 192

Henrik Frystyk Nielsen wrote:
 >
 > Marc pointed out that it is not clear whether "MUST contain exactly
 > one SOAP fault as the only child element of the SOAP body" allows
 > one to add *other* information in the body *after* the SOAP fault
 > or not.
 >
To be clear, my comment referred to the previous spec wording which was:

"If present, a SOAP Fault MUST appear as a direct child of the SOAP body 
and MUST NOT appear more than once within a SOAP Body."

In rolling-in some comments to the spec I believe we have inadvertently 
changed the semantics to:

"a SOAP message MUST contain exactly one SOAP Fault as the only child 
element of the SOAP body."

i.e. before this change, additional elements were not ruled out.

 > In other words, is something like the following outline
 > allowed?
 >
 > <Envelope>
 >   <Header> ... </Header>
 >   <Body>
 >     <Fault> ... </Fault>
 >     <MyExtraStuff> ... </MyExtraStuff>
 >   </Body>
 > </Envelope>
 >
 >
 > My personal feeling is that it should *not* be allowed to have
 > "MyExtraStuff" as we already have a "detail" EII which can
 > contain such information as well as header blocks that can
 > contain other end-to-end information if need be.
 >
In principle I agree, but it seems rather fragile to me to say the above 
doesn't contain a fault just because there is an additional element in 
the body - particularly as we say elsewhere in the spec that:

"Part 1 of this specification (this document) mandates no particular 
structure or interpretation of these elements (immediate children of the 
SOAP body), and provides no standard means for specifying the processing 
to be done."

This is why I favour the proposal to make the fault element a child of 
the envelope rather than the body such that an envelope can either carry 
a body or a fault but not both. To me it seems a cleaner approach.

Regards,
Marc.

-- 
Marc Hadley <marc.hadley@sun.com>
XML Technology Centre, Sun Microsystems.

Received on Tuesday, 16 April 2002 07:58:18 UTC