Re: Rationale for Dropping the <soap:body use=...> Attribute

 Arthur, others,
 I agree that use="literal" should be sufficient in WSDL. My
understanding has always been that for other datamodel than the XML Tree
datamodel of XML Schema, other schema languages should be used in WSDL
descriptions - something like

<soapenc:schema targetNamespace="foo" xmlns="foo" xmlns:foo="foo">
  <soapenc:struct name="myStruct">
     <soapenc:edge name="a" targetType="myStruct"/>
     <soapenc:edge name="b" targetType="myArray"/>
     <soapenc:edge name="c" targetType="soapenc:simple"/>
  </soapenc:struct>
  <soapenc:array name="myArray" dimensions="3">
     <soapenc:edge targetType="soapenc:simple"/>
  </soapenc:array>
</soapenc:schema>

and then a message part of type foo:myStruct would be literally
serialized according to its schema, whichever variant of the actual XML
instance is the result.
 Is this how others see the issue, too? 8-)
 Best regards,

                   Jacek Kopecky

                   Senior Architect, Systinet Corporation
                   http://www.systinet.com/


On Tue, 2002-09-17 at 22:49, Arthur Ryman wrote:
> 
> This issue came up at the f2f.
> 
> 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.
> 
> -- Arthur Ryman
> 

Received on Wednesday, 18 September 2002 07:40:11 UTC