Stylus Studio XML Editor

Table of contents

Appendices

2.6 Declaring SOAP Modules

Declaring SOAP Modules

Description[top]

Description

In SOAP, it is permissible for specification interaction to engage one or more additional features (typically implemented as one or more SOAP header blocks), as defined by SOAP Modules (see [SOAP12-PART1]). This binding specification allows users to indicate which SOAP Modules are in use across the entire binding, on a per operation basis or on a per message basis.

Relationship to WSDL Component Model[top]

Relationship to WSDL Component Model

The SOAP Module component adds the following property to the WSDL component model (as defined in [WSDL-PART1]):

  • {soap modules} to the Binding, Binding Operation and Binding Message Reference components.

The SOAP modules applicable for a particular operation of any service consists of all modules specified in the input or output Binding Message reference components, and those specified within the Binding Operation components and those specified within the Binding component. If any module is declared in multiple components, then the requiredness of that module is defined by the closest declaration, where closeness is defined by whether it is specified directly at the Binding Message Reference component level, the Binding Operation component level or the Binding component level, respectively.

SOAP Module Component[top]

SOAP Module Component

The SOAP Module component identifies a SOAP module that is in use. The properties of the SOAP Module component are as follows:

  • {uri} An absolute URI as defined by [RFC2396]. The value of this property identifies the specific SOAP module that is in use, as defined in the SOAP Protocol Binding Framework section of [SOAP12-PART1].

  • {required} A boolean indicating if the SOAP module is required.

XML Representation[top]

XML Representation
<definitions >
  <binding >
    <wsoap:module uri="uri"
                  required="boolean"? >
      <documentation ... />?
    </wsoap:module>
    <operation>
      <wsoap:module ... />*
      <input>
        <wsoap:module ... />*
      </input>
      <output>
        <wsoap:module ... />*
      </output>
    </operation>
  </binding>
</definitions>

The XML representation for a SOAP Module component is an element information item with the following Infoset properties:

  • A [local name] of module

  • A [namespace name] of http://www.w3.org/2004/08/wsdl/soap12

  • One or more attribute information items amongst its [attributes] as follows:

    • A REQUIRED uri attribute information item with the following Infoset properties:

      • A [local name] of uri

      • A [namespace name] which has no value

    • An OPTIONAL required attribute information item with the following Infoset properties:

      • A [local name] of required

      • A [namespace name] which has no value

    • Zero or more namespace qualified attribute information items. The [namespace name] of such attribute information items MUST NOT be http://www.w3.org/2004/08/wsdl and MUST NOT be http://www.w3.org/2004/08/wsdl/soap12.

  • Zero or more element information item amongst its [children], in order, as follows:

    1. An OPTIONAL documentation element information item as defined in [WSDL-PART1].

    2. Zero or more namespace-qualified element information items amongst its [children]. The [namespace name] of such element information items MUST NOT be http://www.w3.org/2004/08/wsdl and MUST NOT be http://www.w3.org/2004/08/wsdl/soap12.

Mapping Between Component Properties and XML Representation[top]

Mapping Between Component Properties and XML Representation

See [tab_SOAP_Module_Mapping].

1tab_SOAP_Module_Mapping Mapping between SOAP Module Component Properties and XML Representation Property Mapping
11{uri} 11The actual value of the uri attribute information item.
11{required} 11The actual value of the required attribute information item.