- From: Jacek Kopecky <jacek@idoox.com>
- Date: Mon, 6 Aug 2001 23:16:53 +0200 (CEST)
- To: Matt Long <mlong@phalanxsys.com>
- cc: <Noah_Mendelsohn@lotus.com>, "'Henrik Frystyk Nielsen'" <henrikn@microsoft.com>, <xml-dist-app@w3.org>
Matt, IMHO Noah's (a) and (b) aren't significantly different. The downside you're asking for in your (1) is this: it would break backwards compatibility. Many SOAP RPC implementations don't mark non-roots with root="0". It would indeed remove the disambiguities but we also want to remove the dependence of RPC on encodings, see my reply to Noah in [1] for the main of my reasons. [1] http://lists.w3.org/Archives/Public/xml-dist-app/2001Aug/0063.html Jacek Kopecky Idoox http://www.idoox.com/ On Mon, 6 Aug 2001, Matt Long wrote: > Henrik, Jacek, Noah, > > Under (a) and (b) roots have an identification mechanism. How does this > logically differ from v1.1, v1.2-WD versions which specifies how non-roots > are identified? Under Sec 5 encoding there is no concept of "top element" > below body (rpc or non-rpc), however Sec 5.6 relates how to distinguish > roots and non-roots (rpc or non-rpc). My interpretation of Sec 5 encoding > with regard to rpc is that if you have one serialization root in an rpc, > that serialization root is the method wrapper element. If you have more > than one, it's not an rpc(albeit you could change this to allow boxcarring). > One could easily assume from Sec 5.6 (especially in v1.2-WD) that > independent elements unmarked with "root" attribute are serialization roots. > > 1) What is the downside of requiring non-serialization roots be marked with > SOAP-ENC:root="0" (rpc or non-rpc)? > 2) Does this not remove the ambiguities? > > > -Matt > > > > > > > Henrik Frystyk Nielsen writes: > > > > >> if an RPC invocation or the result of an > > >> invocation is modeled as a single-rooted > > >> instance of a directed graph > > >> within the SOAP encoding data model then > > >> why is additional information > > >> needed to identify the top element of the > > >> invocation or result of that > > >> invocation? > > > > I'm happy to do this either way, as long as the solution adopted is > > architecturally clean. Among the ways to do this are roughly: > > > > a) RPC chapter says (roughly): "You must use an encoding of a data > > model. That data model model must represented a directed > > graph of labeled > > values {etc., etc.} which must include an encoding of "record" > > structures, in which fields are uniquely labeled. It is a > > requirement > > that any encoding of that data structure uniquely identify a > > "root" of the > > graph, which must be of type "record" and which is taken as the > > representation of the argument list." I think this option is > > the closest > > to SOAP 1.1/SOAP 1.2, and as you say it does not rely on any > > "call" or > > "method" arguement at the RPC level, and what Henrik seems to be > > recommending. > > > > b) RPC chapter says (roughly): "You must use an encoding of a data > > model. That data model model must represented a directed graph of > > labeled values {etc., etc.} which must include an encoding > > of "record" > > structures, in which fields are uniquely labeled. The node which > > represents the call itself must be labeled with the > > SOAPRPC:ProcedureInvocation argument, which which must > > encode an item of > > type "record" and which is taken as the representation of > > the argument > > list." This seems to be what Jacek is recommending. This > > makes the RPC > > model just slightly more complicated, but makes the contract > > between the > > RPC chapter and the encodings a bit simpler: it does not require the > > encodings to have their own notion. > > > > c) Make the RPC system dependent on exactly the encoding in > > chapter 5, > > with no alternatives possible. > > > > I have no strong preference between (a) and (b), don't much > > like (c). As > > I have said before, it might be nice to do a simple job of > > naming data > > models. Then we can say: "The default data model for SOAP includes, > > records (structs), multi-structs, and arrays, along with the > > simple types > > from XML Schema Datatypes. RPC calls and responses can be > > represented > > using any encoding for the SOAP default data model." Then in > > chapter 5, > > you describe the default data model, and say "to promote > > interoperability, > > SOAP provides a standard encoding for the default data model > > (which is > > essentially the one we've had in chapter 5 all along). > > > > -------------------------------------------------------------- > > ---------- > > Noah Mendelsohn Voice: > > 1-617-693-4036 > > Lotus Development Corp. Fax: 1-617-693-8676 > > One Rogers Street > > Cambridge, MA 02142 > > -------------------------------------------------------------- > > ---------- > > > > >
Received on Monday, 6 August 2001 17:16:55 UTC