W3C home > Mailing lists > Public > xml-dist-app@w3.org > February 2002

RE: Issue with soap-rpc:result

From: Don Box <dbox@microsoft.com>
Date: Wed, 6 Feb 2002 18:46:31 -0800
Message-ID: <CFC4F26947496E4092489B2425614958042D3505@svc-msg-02.northamerica.corp.microsoft.com>
To: "Noah Mendelsohn" <noah_mendelsohn@us.ibm.com>
Cc: "Jacek Kopecky" <jacek@systinet.com>, "Tim Ewald" <tjewald@develop.com>, "XMLDISTAPP" <xml-dist-app@w3.org>
> -----Original Message-----
> From: Noah Mendelsohn [mailto:noah_mendelsohn@us.ibm.com]
> Sent: Wednesday, February 06, 2002 5:43 PM
> To: Don Box
> Cc: Jacek Kopecky; Tim Ewald; XMLDISTAPP
> Subject: RE: Issue with soap-rpc:result
> 
> Don Box sez:
> 
> >> The reality is, SOAP mandates XML Schema-awareness.
> 
> Awarenes of built in simple types? yes.  Validation or availability of
> some application- or header-specific schema?  Not in SOAP 1.1 and not
in
> SOAP 1.2 as at stands.

Agreed. However, section 5 certainly depended on xsi:type and xsi:nil,
the former of which placed a very broad dependency on the XML Schema
type system.

> >> I don't think adding yet another way to define data
> >> representations is the answer.
> 
> I think the real question is, do we want graphs or trees?  SOAP 1.1
says
> that for RPC, we need graphs.  

It's not just RPC that needs this, btw. It's a more general problem
related to using XML as a serialization format. RPC is just one
application of serialization.

That stated, since the underlying data model is a tree-based Infoset (or
PSVI), everything gets reduced to a tree. If XML Schema had supported
typed references, then graphs could have been a first-class construct in
PSVI. 

In retrospect, Section 5 should have been expressed as an XML Schema
type library that canonicalized how to represent typed references and
arrays. I strongly believe that would have eliminated all of the
confusion over encodings.

> We want to express the difference between:
> Object o1 = new Thing();
> Object o2 = new Thing();
> Object o3 = new Thing();
> x=method(o1, o2, o3);
> 
> and
> 
> Object o1 = new Thing();
> Object o2 = new Thing();
> Object o3 = o1;
> x=method(o1, o2, o1);

Totally agreed. If only the Schema WG would have done it for us...
 
> Either a simple XML tree (modeled by XML Schema) or soap 1.1 chapter 5
> graph model can represent the first call with fidelity.  Only the
graph
> model can easily capture the identity of arguments #1 and #3 in the
second
> call.
> 
> For better or worse, SOAP 1.1 went to some trouble to solve that
hairier
> problem.  Along the way, it got the ability to send cyclic data
> structures, DAGs, and some other things you might find in programs.  I
> think the question should be "do we need that expressive power in SOAP
1.2
> to do RPC?"  

We need that expressive power in XML Schema in general.

That stated, they didn't give it to us. 

However, I believe the right approach is to do a schema-oriented
solution.

I'm not arguing for a loss of expressive power.

I'm simply advocating that we add the 10% we need to XML Schemas than
build a parallel universe that we will need to carry with us in addition
to the XML Schema world we cannot ignore.

DB
Received on Wednesday, 6 February 2002 21:47:19 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Monday, 7 December 2009 10:59:06 GMT