W3C home > Mailing lists > Public > xml-dist-app@w3.org > February 2002

RE: Soap Message Canonicalization (SM-C14N)

From: Andrew Layman <andrewl@microsoft.com>
Date: Sat, 16 Feb 2002 20:09:24 -0800
Message-ID: <C3729BBB6099B344834634EC67DE4AE102623D47@red-msg-01.redmond.corp.microsoft.com>
To: "Noah Mendelsohn" <noah_mendelsohn@us.ibm.com>, "rsalz" <rsalz@zolera.com>
Cc: "Christopher Ferris <chris.ferris" <chris.ferris@Sun.COM>, "xml-dist-app" <xml-dist-app@w3.org>
I largely agree with Noah.  Like XML, SOAP neither says that lexical
order is significant nor insignificant.  It might be in some cases and
not in others.  It should certainly be possible that, in some cases,
lexical order is significant, and, like XML, it should also be possible
that, for certain classes of messages and/or headers, lexical order is
predetermined and/or insignificant.  I believe it is premature to state
more than this.

-----Original Message-----
From: Noah Mendelsohn [mailto:noah_mendelsohn@us.ibm.com] 
Sent: Friday, February 15, 2002 3:31 PM
To: rsalz
Cc: Christopher Ferris <chris.ferris; xml-dist-app
Subject: Re: Soap Message Canonicalization (SM-C14N)

Thank you for undertaking this.  I must say, I'm nervous about some
of this.  Some concerns:

* While SOAP, in the absence of extensions, mandates no interpretation
header order, we have already made clear that extensions can be created
control processing order, and I think it's highly desireable that
order in the infoset be significant if the extension says so.  Consider
streaming of large documents;  I think it should be possible to define
control headers that will be known to appear early in the document.  I
that in many cases it will be the body that will be streamed, but that
doesn't work well if you want to intermix control with data in a stream.
Bottom line:  XML Infoset says lexical order is significant.  We could
that it's insignificant in SOAP, but I would prefer not to go that way.

* Related concern:  you've suggested an ordering based on the entire
contents of each header block, I think. That sounds extremely expensive
compute in the general case.  It could involve sorting on almost the
contents of evey header element.

* Requiring alphabetical order clearly conflicts with streaming;   you
don't know the first header block until you've seen them all.

* In general, I'm not sure we've motivated a single canonicalization for
SOAP.  What are the use cases.  Allowing some freedom to intermediaries
does establish equivalence classes for soap messages, but not
one representation for each class that's considered canonical.

Overall, my intuition is that the latitude given to intermediaries in
rewriting a message should be relatively modest.  My starting point
be that the message goes through intact, except for removed and inserted
headers.   I would, if necessary, loosen up the bare minimum needed to
support efficient implementations.  I'm not convinced that reordering
headers is going to do anything other than limit the scenarios in which
SOAP can be used, and introduce interop headaches (because some
intermediaries will reorder and some won't).

Noah Mendelsohn                              Voice: 1-617-693-4036
IBM Corporation                                Fax: 1-617-693-8676
One Rogers Street
Cambridge, MA 02142
Received on Saturday, 16 February 2002 23:10:27 UTC

This archive was generated by hypermail 2.3.1 : Tuesday, 6 January 2015 22:01:18 UTC