- From: Jacek Kopecky <jacek@systinet.com>
- Date: Wed, 24 Apr 2002 11:43:52 +0200 (CEST)
- To: Ray Whitmer <rayw@netscape.com>
- cc: xml-dist-app@w3.org
Ray, my proposal below resolves issue 195 saying that we don't think mandating the full qualified name of the return value is a bad idea. I don't think that the resolution must necessarily agree with the issue originator. But there is still my other proposal (the full [1]) where I suggest we remove the notion of return value altogether, moving it into the application domain. I don't think I've heard many opinions against it. Best regards, Jacek Kopecky Senior Architect, Systinet (formerly Idoox) http://www.systinet.com/ [1] http://lists.w3.org/Archives/Public/xml-dist-app/2002Apr/0113.html On Tue, 23 Apr 2002, Ray Whitmer wrote: > Since there has been apparently no more recent discussion, I will > comment on this proposal. > > This apparently does nothing whatsoever to resolve issue 195. I find > issue 195 to be a real concern. I think it should be possible to use > schema to accurately describe simple RPC calls. If a struct has been > chosen as the return vehicle, then if a fixed name with a fixed type is > required, this is not possible. > > There is nothing in the charter or in the requirements that lead me to > believe that it is essential to know without knowing the method > signature that a particular return value is a special unnamed return, > which a language may or may not support. There are so many other things > that the binding is expected to understand or map arbitrarily, and SOAP > 1.2 has made this worse by making both a struct and an array as options > because now every language, whether it supports named or positional > arguments has to support calls that will be of the other type just > because someone decided they should be. > > How about the following language instead: > > * In the struct representation of the response, the label of the > unnamed return value outbound edge is the one which does not > correspond to any of the named out or in/out parameters. > > In most languages you have to know the names of the parameters anyway, > so they can be associated with positions, since few languages associate > by name. This way, the result is given a meaningful name and type, > which is good for a variety of reasons. This is also no worse than the > case of a returned array where you do not know whether or not there is a > return value unless you know the signature and binding. > > Ray Whitmer > rayw@netscape.com > > > Jacek Kopecky wrote: > > > Hi all, 8-) > > this is the first part of my former proposal [1], updated a > >little and standing on its own so it's not so confusing. > > In short, the update removes the mandatory presence or absence > >of the return value in the struct representation, it adds a note > >about the array representation, and it does some rephrasing in > >places. > > The proposal: > > > > It needs to be clarified that in the array representation of RPC > >result the return value is not named rpc:result (because as we > >cannot specify positions in structs, we cannot specify names in > >arrays). Therefore I propose the fifth bullet to be changed to: > > > > * The response is viewed as a single struct or array containing > >an outbound edge for the return value and each [out] or [in/out] > >parameter. If the response is an array, the return value edge > >MUST be the first edge in the array. > > > > And the sixth bullet in the RPC Body section - 4.1 [1] - should > >be split into: > > > > * Each outbound edge has a label corresponding to the name of > >the parameter (see A Mapping Application Defined Name to XML > >Name) or a position corresponding to the position of the > >parameter. > > > > * In the struct representation of the response, the label of the > >return value outbound edge is "result" and it is > >namespace-qualified with the namespace name > >"http://www.w3.org/2001/12/soap-rpc". > > > > * In the array representation of the response, the return value > >outbound edge is the first member of the array if the return > >value of the procedure is non-void. If the return value of the > >procedure is void, the first edge is the first [out] or [in/out] > >parameter. > > Note: in case the application designers only know the format of > >the messages, they are free to choose to treat the first out > >parameter as a return value or as the first out parameter. > > > > The note should probably go somewhere else than in the bullet, > >but I don't know where, really. > > > > Jacek Kopecky > > > > Senior Architect, Systinet (formerly Idoox) > > http://www.systinet.com/ > > > > > > > >[1] http://lists.w3.org/Archives/Public/xml-dist-app/2002Apr/0113.html > > > > > >
Received on Wednesday, 24 April 2002 05:44:37 UTC