Decouple SOAP Version from SOAP Binding ?

That is, version independent SOAP binding. SOAP Binding in Part 3 is tied to
SOAP 1.2 REC. I request the WG to consider decoupling SOAP version from SOAP
binding. What does this mean? Of course, few changes.

Similar to @http:version, ..

(a) introduce an optional attribute binding/@wsoap:version whose type is

(b) introduce a binding component property {soap version} whose default
value is

(c) change the namespace uri of SOAP binding elements and attributes from to

(d) plus corresponding changes to prose


This proposed change is in-sync with our approach for HTTP binding,
binding/@http:version attribute. This change will help us accommodate yet
another version of SOAP, if any, without substantial changes. More
importantly, today, these SOAP binding attributes, elements, mappings,
components, and component properties can be RE-USED for SOAP 1.1 binding.
How? I have a strawman proposal. Let me walk you thru. Use this version
independent SOAP binding in conjunction with SOAP 11 defaults and

// SOAP 1.1 Binding
If binding/@wsoap:version ==
 // Default Rule A
 If Interface Operation Component.{message exchange pattern} ==
  then {soap mep} =

 // Default Rule B
 If {soap protocol} ==
  then the default value of {http method} property is POST
 // Default Rule C
 if {soap action} is absent
  then the SOAPAction HTTP Header Field [1] is absent

 // Constraint A
 @wsoap:subcodes must be absent


(d) identifies SOAP 1.1

(e) identifies the
implicit request response mep in SOAP 1.1 [2]

(f) identifies the SOAP HTTP
Protocol Binding in SOAP 1.1 [2]

Last but not least, using one binding with different defaults, URIs and
constraints, will certainly help us achieve, "A binding for SOAP 1.1 will
ease the migration from WSDL 1.1 to WSDL 2.0 for organizations describing
SOAP 1.1-based services." [3]

Any +1s?


Asir S Vedamuthu
asirv at webmethods dot com

Received on Thursday, 15 July 2004 09:29:18 UTC