- From: Martin Gudgin <mgudgin@microsoft.com>
- Date: Wed, 26 Jun 2002 06:36:56 -0700
- To: "Martin Gudgin" <mgudgin@microsoft.com>, "Jean-Jacques Moreau" <moreau@crf.canon.fr>, "Web Service Description" <www-ws-desc@w3.org>
Also suggest you merge the following two sentences; 'Omitting the SOAP role attribute information item is equivalent to indicating value of "http://www.w3.org/2001/12/soap-envelope/role/ultimateReceiver". An empty value is equivalent to omitting the attribute completely, i.e. targeting the SOAP header block to an ultimate SOAP receiver.' To read 'A SOAP role attribute information item that is either absent or has an empty value is equivalent to indicating a value of "http://www.w3.org/2001/12/soap-envelope/role/ultimateReceiver" i.e. targeting the SOAP header block to an ultimate SOAP receiver.' Hope this helps Gudge -----Original Message----- From: Martin Gudgin Sent: 26 June 2002 14:35 To: 'Jean-Jacques Moreau'; Web Service Description Subject: RE: Issue 17: support for SOAP role attribute In your proposal below you use the phrase 'mandatory soap:role AII' but then in the grammer you have role='uri'? So two things; 1. Did you intend to say 'role AII' ( unqualified )? 2. Did you intend to say 'optional'? FWIW I think the answer to both questions should be 'yes' ;-) Gudge -----Original Message----- From: Jean-Jacques Moreau [mailto:moreau@crf.canon.fr] Sent: 26 June 2002 14:04 To: Web Service Description Subject: Issue 17: support for SOAP role attribute I took a todo to provide a resolution for issue 17. Issue The issue, as raised by Simon Fell [1], is that there is no way to specify the "role" attribute for a SOAP header block. For the record, the SOAP "role" [2] AII is used to target a SOAP header block to a particular SOAP node along the SOAP message path. Discussion summary Sanjiva has pointed out [3] that a SOAP role can be specified indirectly via a WSDL schema, but that this does not work for complex types. Matt Long has proposed [4] to add a "soap:role" AII to the "soap:header" EII. Simon Fell has suggested [5] a value of type "anyURI". Matt Long has later suggested [6] to decouple the role from any specific header to which it applies, and to list instead in a WSDL file all the roles supported by a specific binding/endpoint (a SOAP node in the SOAP terminology). Personally, I think this is wrong, since a SOAP header block is not targeted at any random SOAP node, but at a very specific SOAP node. As far as I understand Matt's proposal, it essentially allows a SOAP client to pick and choose the role for a header block from the list offered by a server. So, for example, a client could choose to target a caching block to a ".../securityManager" role instead of ".../cacheManager" role, assuming the server supports both roles. Proposal I suggest that we go with Matt's original proposal [4] as amended by Simon [5]. I.e. that we introduce a mandatory soap:role AII on each soap:header. Changes to the spec Example 1 Update the example * <soap:header message="tns:SubscribeToQuotes" part="subscribeheader" use="literal" role="http://www.w3.org/2002/soap-envelope/role/ultimateReceiver"/> Section 2.2 Update the grammar for <input> and <output> * <soap:header message="qname" part="nmtoken" use="literal|encoded" encodingStyle="uri-list"? namespace="uri" role="uri"?>* * <soap:header message="qname" part="nmtoken" use="literal|encoded" encodingStyle="uri-list"? namespace="uri" role="uri"?>* Section 2.7 Update the grammar as above, for both <input> and <output> Insert the text below between the penultimate and ultimate paragraph for that section. * The soap:role attribute information item identifies the SOAP role to which a SOAP header block is targeted. The soap:role attribute information item has: - A [local name] of role. - A [namespace name] of - A [specified] property with a value of "true". The type of the role attribute information item is anyURI in the namespace named "http://www.w3.org/2001/XMLSchema". The value of the role attribute information item is a URI that names a role that a SOAP node can assume. Omitting the SOAP role attribute information item is equivalent to indicating value of "http://www.w3.org/2001/12/soap-envelope/role/ultimateReceiver". An empty value is equivalent to omitting the attribute completely, i.e. targeting the SOAP header block to an ultimate SOAP receiver. Jean-Jacques. [1] http://www.w3.org/2002/ws/desc/2/06/issues.html#x17 [2] http://www.w3.org/2000/xp/Group/1/10/11/soap12-part1.html#targettingbloc ks [3] http://groups.yahoo.com/group/wsdl/message/641 [4] http://groups.yahoo.com/group/wsdl/message/643 [5] http://groups.yahoo.com/group/wsdl/message/645 [6] http://groups.yahoo.com/group/wsdl/message/646
Received on Wednesday, 26 June 2002 09:37:36 UTC