RE: soap:header extensibility with mU primer example

I would certainly prefer to have the functionality in the spec and not
described in the primer than not having the functionality, so my 2nd
choice and your 2nd choice are aligned.

 

I agree that mU is a client decision.  It's really about whether the
client's decision can be described in just WSDL or not.  And I gave a
case where the server doesn't have control over the interface definition
but we want to describe what the client will do.

 

Cheers,

Dave

 

  _____  

From: Jonathan Marsh [mailto:jmarsh@microsoft.com] 
Sent: Thursday, July 14, 2005 7:31 AM
To: David Orchard; www-ws-desc@w3.org
Subject: RE: soap:header extensibility with mU primer example

 

I think my position is better stated as "a client never needs to put a
mustUnderstand on a header block that is described in WSDL and therefore
we don't need built-in support for this in WSDL".  If other specs
specify the setting of mustUnderstand, that is fine though it seems
redundant in the presence of a WSDL.

 

It also bothers me that setting mustUnderstand is supposed to be a
client decision, yet we're overriding that responsibility by giving the
server the ultimate word.  I don't have a compelling example of harm
that could be caused, but neither to do you seem to have a compelling
example or simple guidance for when this facility might be needed.

 

If we decide to keep mU, I don't think adding your example to the Primer
will actually be terribly helpful, so my second choice (behind remoing
mU) would be the status quo.

 

  _____  

From: David Orchard [mailto:dorchard@bea.com] 
Sent: Wednesday, July 13, 2005 11:14 AM
To: Jonathan Marsh; www-ws-desc@w3.org
Subject: RE: soap:header extensibility with mU primer example

 

How is this any different than taking an endpoint that doesn't support
ws-security, then adding a ws-policy attachment that says ws-security
must be used (and ws-security says set the mu="true")?  

 

One way of looking at your position is that you think that a client
should never put a mustUnderstand on a header block that is described in
WSDL but it's allowed to do it on anything that might be described in
any other spec that is referenced by Policy or f&p. 

 

I think it strange to allow only Policy/feature authors the ability to
say something that WSDL 2.0 straight up can describe.

 

Dave

 

  _____  

From: Jonathan Marsh [mailto:jmarsh@microsoft.com] 
Sent: Wednesday, July 13, 2005 11:00 AM
To: David Orchard; www-ws-desc@w3.org
Subject: RE: soap:header extensibility with mU primer example

 

Sorry Dave, but we don't find this motivation very compelling.  This
seems like the clumsiest way imaginable to introduce an incompatible
version.  We have a variety of other mechanisms that could be employed,
including introducing a new name for the new operation, introducing a
new endpoint, or adding an app-level version identifier into the message
body with appropriate failure semantics.  If this is the best motivation
you can come up with, we would rather see the mU capability removed.

 

Speaking for Microsoft not as chair,

Jonathan

 

  _____  

From: www-ws-desc-request@w3.org [mailto:www-ws-desc-request@w3.org] On
Behalf Of David Orchard
Sent: Tuesday, July 12, 2005 3:48 PM
To: www-ws-desc@w3.org
Subject: soap:header extensibility with mU primer example

 

A proposed section for the Primer if people accept the example and
motivation.

 

Additional 5.2.5.4.  Additional mandatory elements in header.

 

A primary motivation for soap:mustUnderstand is to enable a client to
ensure that a service understands a soap header block that the client
sends.  Imagine that the reservation interface is controlled by a 3rd
party such as a travel consortium.  The travel consortia decides to make
the NumberOfGuests a soap header block rather than part of the body,
perhaps on the initial version or a subsequent version.  There are a
variety of reasons for this.  The extension could be handled in a well
factored design at the service by a specialized piece of software.   A
3rd party specifying the header blocks is why Web Service specifications
will often require that the mustUnderstand flag is set to true. 

 

The binding using mustUnderstand is:

 

<operation ref="tns:opCheckAvailability">

       <input>

         <wsoap:header wsoap:mustUnderstand="true"
element="tns:NumberOfGuests"/>

       </input>

    </operation>

 

Any client that uses the new interface will set the soap:mustUnderstand
attribute in the message.  If the service receiving the messages does
not understand the extension, it will fault.

 

Cheers,

Dave

 

 

Received on Thursday, 14 July 2005 23:21:06 UTC