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

Re: WSDL 1.2 drops use="encoded"

From: James M Snell <jasnell@us.ibm.com>
Date: Mon, 24 Feb 2003 15:54:36 -0800
To: "Jonathan Marsh" <jmarsh@microsoft.com>
Cc: xml-dist-app@w3.org, xml-dist-app-request@w3.org
Message-ID: <OFF0BD315B.73DE2F8A-ON88256CD7.0083206B-88256CD7.008357CF@us.ibm.com>

Although I cannot speak for IBM's official opinion on this (simply because 
I do not know what it is), I am personally in favor of it. The vast 
majority of interop problems I've seen stems from different toolkits 
dealing with Case #3 differently.  Forcing everything to be literal and 
strictly defined is by far the best approach.

- James Snell
     IBM Emerging Technologies
     jasnell@us.ibm.com
     (559) 587-1233 (office)
     (700) 544-9035 (t/l)
     Programming Web Services With SOAP
         O'Reilly & Associates, ISBN 0596000952

     Have I not commanded you? Be strong and courageous. 
     Do not be terrified, do not be discouraged, for the Lord your 
     God will be with you whereever you go.    - Joshua 1:9



"Jonathan Marsh" <jmarsh@microsoft.com>
Sent by: xml-dist-app-request@w3.org
02/24/2003 02:29 PM

To
<xml-dist-app@w3.org>
cc

bcc

Subject
WSDL 1.2 drops use="encoded"




The WS Description WG wanted to point out a change we made to WSDL 1.2
that changes the way messages that use SOAP Encoding are described, and
solicit your reaction.  The "use" attribute on WSDL 1.2's <soap:body>
element has been dropped.  The rationale (compiled by Arthur Ryman of
IBM) follows.

The WSDL 1.1 SOAP binding currently has a use attribute which can take
the values literal and encoded. The use attribute interacts with the
encodingStyle attribute. The cases are as follows:

1. use="literal", encodingStyle="". The SOAP message is exactly as
described by its XML schema, but nothing is claimed about how the schema
was derived.

2. use="literal", encodingStyle="some-URI". The SOAP message is exactly
as described by its XML schema and the schema was derived using the
encoding algorithm identified by some-URI. The writer of the message is
required to create it exactly as described by the schema. The knowledge
of the encoding algorithm can be exploited by tools that might generate
a data structure from the schema. The main example here is SOAP
encoding. WS-I.org is defining a new algorithm for object graphs.

3. use="encoded", encodingStyle="some-URI". The SOAP message is not
necessarily as described by the XML schema which was derived using the
encoding algorithm identified by some-URI. There may be variants in the
message not described in the schema. The reader of the message is
required to understand all variants. For example, in SOAP encoding,
element content can appear inline or via reference (e.g. for
multi-reference objects).

4. use="encoded", encodingStyle="". This case is not allowed. If the
SOAP message is encoded then there must be an encoding style.

WS-I.org has studied interoperability problems and has come to the
conclusion that only use="literal" should be used where interoperability
is required. Since interoperability is one of the main features of Web
services, it seems reasonable to follow this recommendation in WSDL 1.2.
This recommendation does not really restrict the message content. It
only restricts how the message is described in WSDL. Case #3 is
disallowed. This places the burden on the Web service implementor to
describe the messages exactly.

In many cases, SOAP encoding can be described by an accurate schema,
e.g. if the data is tree like. Also, the new WS-I.org proposal for
encoding object graphs does have accurate schemas. It is therefore not
necessary to remove the encodingStyle attribute since this is a valuable
hint to tools. However, if only use="literal" is supported, then the use
attribute can be safely dropped.
Received on Monday, 24 February 2003 18:55:11 GMT

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