- 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
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 UTC