- 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:42 UTC