Comments on SOAP Version 1.2 Part 1: Messaging Framework

As per my action item, I started reading SOAP version 1.2 Last Call
Working Drafts.

Here are some architectural comments about SOAP Version 1.2 Part 1:
Messaging Framework.

Note that I sent additional personal (not architectural) comments to
xmlp-comments@w3.org[1].

1) Architectural feature: SOAP nodes are identified by URIs. This is
not a comment that we should send the XML Protocol Working Group, but
worth noting for the harvesting taskforce. Another feature is that a
message can go through several nodes (intermediaries) before reaching
its final destination.

2) Architectural feature: SOAP defines the concept of message exchange
pattern.

3) Comment: section 3.3 reads[2]:

|   In general the definition of a message exchange pattern:
|     * Is named by a URI.
|     * Describes the life cycle of a message exchange conforming to the
|       pattern.
|     * Describes the temporal/causal relationships of multiple messages
|       exchanged in conformance with the pattern.                      
|     * Describes the normal and abnormal termination of a message
|       exchange conforming to the pattern.                       

This suggest that not all MEPs are identified by a URI. From an
architectural point of view, and according to AR009.3, all conceptual
elements should be addressable directly via a URI.

I think that a URI should be required for MEPs: it is easy enough to
assign one and will ease identification.

4) Comment: Outside references.

Section 2.6 reads[3]:

|   SOAP nodes MAY make reference to any information in the SOAP envelope
|   when processing a SOAP body or SOAP header block. For example, a
|   caching function can cache the entire SOAP message, if desired. 

I wonder about external references. They are not explicitely
disallowed, but not referenced either. Needless to say, I think that
external references are useful, e.g. to reference a large image that
one doesn't want to carry along in the message.

5) Comment: QName vs URI

Sections 5.4.1.3[4] and 5.4.6[5] use and define QNames to identify
fault types, whereas AR009.3 calls for URIs.

This is related to two open TAG issues:
- Using Qualified Names (QNames) as Identifiers in Content[6].
- Algorithm for creating a URI from a QName[7].

We should probably point this out.

Regards,

Hugo

  1. http://lists.w3.org/Archives/Public/xmlp-comments/
  2. http://www.w3.org/TR/2002/WD-soap12-part1-20020626/#soapmep
  3. http://www.w3.org/TR/2002/WD-soap12-part1-20020626/#procsoapmsgs
  4. http://www.w3.org/TR/2002/WD-soap12-part1-20020626/#faultsubvalueelem
  5. http://www.w3.org/TR/2002/WD-soap12-part1-20020626/#faultcodes
  6. http://www.w3.org/2001/tag/doc/qnameids.html
  7. http://www.w3.org/2001/tag/ilist#rdfmsQnameUriMapping-6
-- 
Hugo Haas - W3C
mailto:hugo@w3.org - http://www.w3.org/People/Hugo/ - tel:+1-617-452-2092

Received on Monday, 1 July 2002 16:45:35 UTC