November 02, 2002

The Death of SOAP Encoding

In an article on MSDN entitled "The Argument Against SOAP Encoding", Tim Ewald explains why SOAP encoding, also known as "Section 5 encoding", is a shadow from SOAP's past that has no place in the future of Web services.

The "Section 5" Encoding rules in the SOAP specification(s) render the type definitions using XML Schema in a WSDL file at best just a hint, and at worst inaccurate and misleading, as Section 5 encoding uses it's very own SOAP Data model which is not defined anywhere in a machine parsable form.

Think about it for a minute - how can you possibly have a machine-readable interface contract (the stuff in a WSDL file) for a component that is designed to be accessed automatically from other computer processes running on different operating systems, hardware architectures and programming languages where some key bits of the specification (the SOAP encoded payload data) is not definitively defined in any machine-readable form anyway? Sure vendors can "distill" the representation rules into the SOAP communications stack, and it can apply "auto-magically" at runtime. However, that is not a very good recipe for interoperability if the complete interface definition for a component cannot be validated and checked because some of the most important data structure and representation rules are not ultimately part of that definition, and this is exactly the problem space that the WS-I organisation is addressing.

Tim is involved in the same working group at me at WS-I which is producing the Basic Profile definition document (see my earlier posting "WS-I Publishes Basic Profile Working Draft").
This document, and especially its formal adoption by the user-driven Web Service Interoperability Organization are the things that will make the death of Section 5 encoding a reality, IMHO.

The end result of the "death of the Section 5 encoding rules" will be that a Web Service interface is completely and unambiguosly (with the help of the WS-I Basic Profile definition) defined in the WSDL for that Web Service.

"The definition, the whole definition, and nothing but the definition if you please."

Entry categories: Standards WS-I Web Services
Posted by Jorgen Thelin at November 2, 2002 04:00 PM - [PermaLink]