soap:body and media types

Something Noah Mendelsohn said at the technical plenary week about SOAP
& media types, made me realize that the SOAP envelope currently has a
problem; that it cannot communicate the media type of the document
encapsulated within the SOAP body.

It seems that "namespace dispatch" is implicit in SOAP, as the namespace
of the root element of the encapsulated document is used to infer the
intended semantics of that document.  However that approach has several
problems, including security, performance (both as a result of poor
layering), as well as expressibility; of being unable to, for example,
communicate the difference in semantics of an XHTML document and an XSLT
simplified stylesheet[1].

A fix would be to provide a standardized "Content-Type" header so one
could say;

  <env:Envelope xmlns="..."
    <env:Header>
      <foo:Content-Type mustUnderstand="true">application/xhtml+xml</foo:Content-Type>
    </env:Header>
    <env:Body>
      <html xsl:version="1.0"
            xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
            xmlns="http://www.w3.org/TR/xhtml1/strict">
      ...

Of course, it would have to use a mandatory extension in the case where
it's being used to address the problem I described above, otherwise
receiving agents would be licensed to assume namespace dispatch.

And FWIW, I'm not actually proposing anything be done; I just wanted to
note this for the record.

Also FWIW, this issue is pretty similar to one facing the Compound
Document Formats WG, of which I'm a member.  I gave a presentation[2] to
them on this topic at our January f2f.

 [1] http://www.w3.org/TR/xslt#result-element-stylesheet 
 [2] http://www.markbaker.ca/Talks/2004-media-types-and-compdocs/slide1-0.html

Mark.
-- 
Mark Baker.   Ottawa, Ontario, CANADA.        http://www.markbaker.ca

Received on Saturday, 2 April 2005 13:58:40 UTC