Stylus Studio XML Editor

Table of contents

Appendices

8.3 Processor Conformance

Processor Conformance

This section defines a class of conformant WSDL processors that are intended to act on behalf of a party that wishes to make use of a Web service (i.e., the requester entity or requester agent), rather than the party that implements the Web service (i.e., the provider entity or provider agent).

An extension element is said to be processed if the WSDL processor decides (through whatever means) that its parent (an element information item in the http://www.w3.org/2004/08/wsdl namespace) will be processed. Note that it is possible for WSDL processors to process only a subset of a given WSDL document. For instance, a tool may wish to focus on interfaces and operations only, and ignore bindings.

A conformant WSDL processor MUST adhere to the following rules:

  • Except as noted below for mandatory extensions, a conformant WSDL processor MUST accept any legal WSDL document as defined by this specification.

  • A conformant WSDL processor MUST fault if a portion of a WSDL document is illegal according to this specification and the WSDL processor attempts to process that portion.

  • A conformant WSDL processor MUST support at least XML Schema as a type system language.

  • A conformant WSDL processor MUST fail if it processes an element containing a wsdl:include statement having a URI that is not dereferenceable to a legal WSDL document.

  • If a mandatory extension (i.e., a mandatory element, feature or property) is processed, a conformant WSDL processor MUST either agree to fully abide by all the rules and semantics signaled by that extension, or immediately cease processing (fault). In particular, if the WSDL processor does not recognize the extension, it MUST fault. If the WSDL processor recognizes the extension, and determines that the extension in question is incompatible with any other aspect of the document (including other required extensions), it MUST fault.

  • A conformant WSDL processor MAY safely ignore a NON-mandatory extension or feature that it does not recognize or that it does not choose to implement.

    NOTE: 

    If a WSDL document declares an extension or feature as optional, then if that extension or feature could apply to messages sent by the provider agent as well, then the provider agent MUST NOT send any messages that requires the requester agent to support that extension or feature. The requestor, on the othe hand, MAY engage that extension or feature in messages it sends to the provider.

    If finer-grain control of extensions and features is desired then such extensions and features must be designed in a direction (from requestor or from provider) sensitive manner so that any direction may be marked required or optional.

  • If a wsdl:definitions element is processed, a conformant WSDL processor MUST also process the wsdl:import, wsdl:include, and wsdl:types children of that element.

  • If a wsdl:interface element is processed, a conformant WSDL processor MUST also process the wsdl:operation, wsdl:fault, wsdl:feature, and wsdl:property children of that element.

  • If a wsdl:binding element is processed, a conformant WSDL processor MUST also process the wsdl:operation, wsdl:fault, wsdl:feature, and wsdl:property children of that element.

  • If a wsdl:operation element is processed, a conformant WSDL processor MUST also process the wsdl:input, wsdl:output, wsdl:infault, wsdl:outfault, wsdl:feature, and wsdl:property children of that element.

  • If a wsdl:property element is processed, a conformant WSDL processor MUST also process the wsdl:value and wsdl:constraint children of that element.