SOAP action and FnP

I took an action to write something regarding the pros and cons of using
properties to the upcoming f2f meeting. Here is something:

Cons:
 - verbose syntax:

  <soap:operation soapAction="http://example.com/GetLastTradePrice"/>

  vs

  <feature
     uri='http://www.w3.org/2002/12/soap/features/action/'
     required='true'/>
  <property
     uri='http://www.w3.org/2002/12/soap/features/action/Action'>
    <value>http://example.com/GetLastTradePrice</value>
  </property>
 
 NOTE: the SOAP binding will contain lots of default values. The feature
 action will always activated by default and therefore the previous code
 could be reduced to:
  <property
     uri='http://www.w3.org/2002/12/soap/features/action/Action'>
    <value>http://example.com/GetLastTradePrice</value>
  </property> 

 - lost in XML Schema validation
   the value cannot be checked by an XML Schema processor.

 NOTE: While we cannot do the check by an XML Schema processor, a WSDL
 processor will be able to do the XML Schema validation by using the
 constraint construction:
  <property
     uri='http://www.w3.org/2002/12/soap/features/action/Action'>
    <value>http://example.com/GetLastTradePrice</value>
    <constraint>xs:anyURI</constraint>        
  </property>

 - departure from the WSDL 1.1 syntax.

  While this is correct, SOAP Action is now better defined in SOAP 1.2,
  and people that are used to SOAP 1.1 will need to adapt themselves to
  SOAP 1.2 anyway, so why don't we make the same jump in WSDL 1.2? Also,
  the "basic" users don't produce WSDL themselves but leave it to the
  toolkit to generate it, so they won't even see a change.

 - we can define the soapAction attribute as having the same semantic as
 the SOAP action property: it is just short cut. While this is correct,
 we should make this kind of decision of a per-property basis.

Pros:

 - Reusability of the properties

  A property can be used by more than one feature. The SOAP Action
  property could be reused outside the scope of the SOAP feature. If you
  come with a binding for the protocol HTCPCP and happen to reuse the
  SOAP property, would you come up with the following syntax:
  <htcpcp:operation soapAction="http://example.com/GetLastTradePrice"/>
  or simply reuse the property without having to define a syntax?

 - It will be hard to avoid properties anyway: SOAP 1.2 introduces
 several properties (such as MEPs, web methods, ...). Are we going to
 avoid using properties at all and define a shortcut syntax for each of
 them or simply use the properties and features define in SOAP 1.2?


Philippe

Received on Tuesday, 6 May 2003 09:57:10 UTC