- From: Tim Bray <tbray@textuality.com>
- Date: Tue, 14 May 2002 17:21:39 -0700
- To: David Orchard <dorchard@bea.com>
- Cc: "'XML Protocol Discussion'" <xml-dist-app@w3.org>, www-tag@w3.org
David Orchard wrote:
> http://www.w3.org/2001/tag/doc/ws-uri.html
Quoting from the above, the SOAP request packet:
<env:Envelope xmlns:env="http://www.w3.org/2001/12/soap-envelope">
<env:Body>
<r:GetLastTradePrice
env:encodingStyle="http://www.w3.org/2001/12/soap-encoding"
xmlns:r="http://example.org/2001/06/quotes">
<r:Symbol>DEF</r:Symbol>
</r:GetLastTradePrice>
</env:Body>
</env:Envelope>
is URI-encoded as (I fixed a couple of what look like typos to me)
http://example.org/stockService/LastTradingPrice&
xmlnsuri=/2001/06/quotes&encodingStyle=http://www.w3.org/2001/12/soap-encoding&Symbol=DEF
Let me suggest a couple of potential improvements:
1. Place a '?' rather than a '&' after the name of the service, why not
make this look like a conventional CGI encoding.
2. Use ';' rather than '&' to separate arguments, so they'll be easier
to store in XML documents
Thus:
http://example.org/stockService/LastTradingPrice?
xmlnsuri=/2001/06/quotes;encodingStyle=http://www.w3.org/2001/12/soap-encoding;Symbol=DEF
Next, we have a problem in that it's hard to distinguish built-in SOAP
machinery (the ns URI and the encoding style) from the service arguments
("Symbol" in this case). Suppose you had an argument named
"encodingStyle"? We need some syntax to signal this. A perusal of SOAP
doesn't reveal any characters which are guaranteed not to show up as
service names, but RFC2396's "mark" (part of "unreserved") production
has lots of candidates.
mark = "-" | "_" | "." | "!" | "~" | "*" | "'" | "(" | ")"
As a strawman I propose that built-ins start with '*' and that they be
given conventional shorter names, *ns and *enc. Thus
http://example.org/stockService/LastTradingPrice?
*ns=/2001/06/quotes;*enc=http://www.w3.org/2001/12/soap-encoding;Symbol=DEF
Finally, I propose that encodingStyle's values be supplied as follows:
by default, if '*enc' is absent, the encoding style is
w3.orc/soap-encoding as in the example above. Otherwise you supply the
URI for your encoding. Thus:
http://example.org/stockService/LastTradingPrice?*ns=/2001/06/quotes;Symbol=DEF
-Tim
Received on Wednesday, 15 May 2002 01:20:40 UTC