Proposed text for XML Base support in SOAP 1.2

Here is the proposed text for support of XML base as agreed upon in [1]
based on proposal [2]. I have expanded the description to talk a little
about how SOAP 1.2 deals with URIs in general in order to avoid problems
later on. 
 
Comments?
 
Henrik
 
[1] http://www.w3.org/2000/xp/Group/xmlp-issues#x134
[2] http://lists.w3.org/Archives/Public/xml-dist-app/2001Oct/0258.html
 
  _____  

 
EdNote 1: This text is to be inserted as a section in SOAP 1.2 Part 1.
The "X" references should be substituted with the proper references in
the SOAP 1.2 specification.

EdNote 2: I suggest that we as part of the internationalization
considerations for SOAP 1.2 refer to XML Base for how to deal with
escaping URIs.

EdNote 3: We should ensure that protocol binding framework includes a
note saying that bindings must indicate whether they define a base URI
or not.

EdNote 4: We might want to consider introducing a "URITooLong" SOAP
fault code


Use of URIs in SOAP


SOAP uses URIs for some identifies including but not limited to as
values of the "encodingStyle" (see section X.X) and "actor" (see section
X.X) attribute information items. To SOAP, a URI is simply a formatted
string that identifies-via name, location, or any other characteristic-a
resource on the Web.

Although this section only applies to URIs directly used by information
items defined by SOAP, it is RECOMMENDED but not required that
application-defined data carried within a SOAP envelope uses the same
mechanisms and guidelines defined here for handling URIs.

URIs used as values in information items identified by the
"http://www.w3.org/2001/09/soap-envelope" and
"http://www.w3.org/2001/09/soap-encoding" XML namespaces can be either
relative or absolute. In addition, URIs used as values of the local,
unqualified "href" attribute information item can be relative or
absolute.

SOAP does not define a base URI but relies on the mechanisms defined in
RFC 2396 (see [X], section 5.1) and referred to in XML Base (see [X],
section 4.1) for establishing a base URI against which relative URIs can
be made absolute. The rules can non-normatively be summarized as follows
(highest priority to lowest):

1.	The base URI is embedded in the document's content. 

2.	The base URI is that of the encapsulating entity (message,
document, or none). 

3.	The base URI is the URI used to retrieve the entity. 

4.	The base URI is defined by the context of the application.

Note: The term "entity" in points #2 and #3 above uses the RFC 2396 and
not the XML meaning of the term.

The underlying protocol binding MAY define a base URI which can act as
the base URI in points #2 or #3 (see section X.X and the HTTP binding in
section X.X).

SOAP does not define any equivalence rules for URIs in general as these
are defined by the individual URI schemes and by RFC 2396. However,
because of inconsistencies with respect to URI equivalence rules in many
current URI parsers, it is RECOMMENDED that SOAP senders do not rely on
any special equivalence rules in SOAP receivers in order to determine
equivalence between URI values used in a SOAP message.

The use of IP addresses in URIs SHOULD be avoided whenever possible (see
RFC 1900). However, when used, the literal format for IPv6 addresses in
URI's as described by RFC 2732 SHOULD be supported.

SOAP does not place any a priori limit on the length of a URI. Any SOAP
node MUST be able to handle the length of any URI that it publishes and
both SOAP senders and SOAP receivers SHOULD be able to deal with URIs of
at least 8k in length.

Received on Monday, 3 December 2001 00:13:04 UTC