RE: Optional Extensions

I think nobody is disagreeing with the mandatory extension behaviour.  It's
the optional that's problematic.  The problem with "MAY" is that many
implementations may fault rather than ignoring them, breaking compatibility.

  -----Original Message-----
  From: []On
Behalf Of Prasad Yendluri
  Sent: Monday, January 26, 2004 1:51 PM
  To: 'Web Services Description'
  Subject: Re: Optional Extensions


  We should follow the recommendation in section 6.1.1 in the WSDL 2.0 core,
for "mandatory" extensions. If wsdl:required is false, the WSDL processor
MAY ignore them. I mean it could be a configurable option by the user of the
processor, rather than blindly ignoring them always.


  6.1.1 Mandatory extensions
  Extension elements can be marked as mandatory by annotating them with a
wsdl:required attribute information item (see 6.1.2 required attribute
information item) with a value of "true". Mandatory extensions are those
that MUST be processed correctly by the WSDL processor. If a mandatory
extension element is processed, the WSDL processor MUST either agree to
fully abide by all the rules and semantics signaled by the extension
element's qualified name, or immediate cease processing (fault). In
particular, if the WSDL processor does not recognize the qualified name of
the extension element, it MUST fault. If the WSDL processor recognizes the
qualified name, and determines that the extension in question is
incompatible with any other aspect of the document (including other required
extensions), it MUST fault.

  -------- Original Message -------- Subject:  RE: Optional Extensions
        Date:  Mon, 26 Jan 2004 13:11:51 -0800
        From:  Philippe Le Hegaret <>
        To:  David Orchard <>
        CC:  'Web Services Description' <>

On Mon, 2004-01-26 at 15:47, David Orchard wrote:
> Philippe, you are not understanding the relationship between ignoring
> content and extensibility/versioning. If somebody makes a backwards
> compatible change to their wsdl by putting in an optional extension,they
> want to make sure that folks that don't know about their extension will
> fall over and die. By underspecifying the behaviour of optional extensions
> in wsdl, they do not have an assurance that their change is backwards
> compatible.  By requiring that unknown extensions are ignored, there are
> assurances of compatible evolution.  This model worked very well for HTML
> and HTTP headers, and is embodied in the soap:mustUnderstand attribute.
> There is extensive precedence for this.

Rereading your original, I now realize that you were talking about the
WSDL processors in the context of unknown optional extensions, and not
WSDL processors in the context of optional extensions... I would propose
that WSDL processors MUST ignored unknown optional extensions if any,
and MAY process known optional extensions.


-------- Original Message --------
Subject:  Optional Extensions
        Resent-Date:  Mon, 26 Jan 2004 14:50:19 -0500 (EST)
        Date:  Mon, 26 Jan 2004 11:51:29 -0800
        From:  David Orchard <>
        To:  <>

  If there is a WSDL extension which is not mandatory and not recognized by
  the WSDL processor what is to be done with it? Our suggestion is that it
  should be ignored, and that this should be specified. Same thing applies
  extension attributes.


Received on Monday, 26 January 2004 17:05:34 UTC