SOAP 1.2 WSDL Extensibility Elements (2024)

The SOAP 1.2 WSDL extensibility elements enable you to configure two sets ofinformation for the HTTP Binding Component: SOAP 1.2 connectivity information, and binding informationto convert WSDL messages to and from SOAP messages.

  • The only SOAP 1.2 Connectivity Element is SOAP 1.2 address Element

  • SOAP 1.2 Binding Elements elements include the following:

    • SOAP 1.2 binding Element

    • SOAP 1.2 operation Element

    • SOAP 1.2 body Element

    • SOAP 1.2 fault Element

    • SOAP 1.2 header and headerfault Elements

SOAP 1.2 Connectivity Element

The only SOAP 1.2 Connectivity element is the address element.

SOAP 1.2 address Element

The SOAP 1.2 address extensibility element specifies the URL address used toconnect to the SOAP server.

Table8 SOAP 1.2 address Element Attributes

Property

Description

Required or Optional

Example

location

A URL address used to connectto the SOAP server

Required

http://myhost:7676/mars/kb423

The following example illustrates the use of the SOAP 1.2 addresselement.

 <service name="echoService"> <port name="echoPort" binding="tns:echoBinding"> <soap12:address location="http://localhost:9080/echoService/echoPort"/> </port> </service>

Note - The required location attribute (of type xs:anyURI) is a URI at whichthe endpoint can be accessed. The value of the location attribute cannot bea relative URI. The URI scheme specified must correspond to the transport ortransfer protocol specified by the soap12:binding/@transport attribute of the corresponding wsdl:binding of the containingwsdl:port.

SOAP 1.2 Binding Elements

The SOAP 1.2 extensibility elements for binding abstract WSDL messages to SOAP 1.2messages fall into several sections or levels.

Each level signifies how the binding should occur:

SOAP 1.2 binding Element

The SOAP 1.2 extensibility elements, for binding abstract WSDL messages to SOAP 1.2messages, fall into different sections or levels.

Each level signifies how the binding should occur:

  • binding level — the configuration applies to the entire port type

  • operation level — the configuration applies only to the operation

  • message level — the configuration applies to that particular message, whether the message is input or output

Table9 SOAP 1.2 binding Element Attributes

Property

Description

Required or Optional

Example

transport

Indicates to which transport of SOAP this binding corresponds

Optional

http://schemas.xmlsoap.org/soap/http

style

Indicates thedefault style of this particular SOAP binding

Optional

rpc

The SOAP 1.2 binding element must be present when using the SOAPbinding. The following example illustrates the use of the SOAP 1.2 bindingelement.

<wsdl:definitions ...>... <wsdl:binding ...> <soap12:binding style="rpc|document" ? transport="xs:anyURI"wsdl:required="xs:boolean" ? />

Note - The code sample above was wrapped for display purposes.

The style attribute value is the default style attribute for each contained operation.If the style attribute is omitted, the value is assumed to be "document".

The value of the required transport attribute indicates the transport to use todeliver SOAP messages. The URI value http://schemas.xmlsoap.org/soap/http corresponds to the HTTP bindingin the SOAP specification. Other URIs may be used here to indicate othertransports such as SMTP, FTP, and so forth.

SOAP 1.2 operation Element

The SOAP 1.2 operation element provides binding information from the abstract operation tothe concrete SOAP operation.

Table10 SOAP 1.2 operation Element Attributes

Property

Description

Required or Optional

Example

soapAction

Indicates the action parameter carried in theapplication/soap+xml Content-Type header field

Optional

urn:someSoapAction

style

Indicates the default style of this particular SOAP operation

Optional

rpc

soapActionRequired

Indicates whetherthe value of the soapAction attribute is or is not required to bepart of request message

Optional

true

The following example illustrates the use of the SOAP operation element.

<definitions ....>; <binding .... >; <operation .... >; <soap12:operation soapAction="xs:anyURI" ? soapActionRequired="xs:boolean" ? style="rpc|document" ? wsdl:required="xs:boolean" ? /> ? </soap12:operation> </binding>;</definitions>

The style attribute value, if present, is a string that specifies the stylefor the operation. The style attribute indicates whether the operation is RPC-oriented (amessages containing parameters and return values) or document-oriented (a message containing documents). If thestyle attribute is omitted from the soap12:operation element, then the operation inheritsthe style specified or implied by the soap12:binding element in the containing wsdl:bindingelement.

The soapAction attribute (of type xs:anyURI) specifies the value of the action parameter,carried in the application/soap+xml Content-Type header field, for this operation. The valueof this attribute must be an absolute URI.

The soapActionRequired attribute (of type xs:Boolean), if present, indicates whether the valueof the soapAction attribute is or is not required to be conveyed inthe request message. If the soapActionRequired attribute is omitted, its value defaultsto true. When the value of soapActionRequired is true, the soapAction attribute must bepresent

SOAP 1.2 body Element

The SOAP 1.2 body element specifies how the message parts appear within theSOAP body element.

Table11 SOAP 1.2 body Element Attributes

Property

Description

Required or Optional

Example

parts

Indicates the parts from the WSDL messagethat will be included in the body element

Optional

part1

use

Indicates how message parts are encodedin the SOAP body

Optional

literal

encodingStyle

Indicates a particular encoding style to use

Optional

http://someEncodingStyle

namespace

Indicates the namespaceof the wrapper element for RPC style messages

Optional

urn:someNamespace

The following example illustrates the SOAP 1.2 body element.

<wsdl:definitions ... > <wsdl:binding ... > <wsdl:operation ... > <wsdl:input> <soap12:body parts="soap12:tParts" ? namespace="xs:anyURI" ? use="literal|encoded" ? encodingStyle="xs:anyURI" ? ... /> ... </wsdl:input> <wsdl:output> <soap12:body parts="soap12:tParts ? namespace="xs:anyURI" ? use="literal|encoded" ? encodingStyle="xs:anyURI" ? ... /> ... </wsdl:output> </wsdl:operation> ... </wsdl:binding>...</wsdl:definitions>

The optional parts attribute (of type soap12:tParts, which is a list ofxs:NMTOKENs) indicates which message parts are bound to the SOAP 1.2 body elementof the message. Other message parts may be bound to other portions ofthe message, such as when SOAP is used in conjunction with the multipart/relatedMIME binding, or when bound as SOAP header blocks. If the parts attribute isomitted, then all of the parts defined by the associated wsdl:message are assumedto be included in the SOAP body.

The use attribute, if present, indicates whether the message parts are encoded usingsome encoding rules, or the parts define the concrete schema of the message.If the value is "encoded" the message parts are encoded using encoding rulesthat are specified by the value, actual or implied, of the encodingStyle attribute. Ifthe value is "literal" then the message parts are literally defined by theschema types referenced.

The encodingStyle attribute (of type xs:anyURI), if present, identifies the set of encoding rulesused to construct the message. This attribute must not be present unless thestyle attribute of the soap12:binding element of the containing wsdl:binding has a value of“rpc” and the use attribute on the containing soap12:body element has a valueof "encoded". The value of the encodingStyle attribute, if present, must not bea relative URI.

SOAP 1.2 fault Element

The fault element specifies the contents of SOAP 1.2 Fault Details element. It ispatterned after the body element.

Table12 SOAP 1.2 fault Element Attributes

Property

Description

Required or Optional

Example

name

Indicates the name of the partfrom the WSDL message that will be included in the fault element

Required

part1

use

Indicates howmessage parts will be encoded in the SOAP 1.2 fault

Required

literal

encodingStyle

Indicates a particularencoding style to use

Optional

http://someEncodingStyle

namespace

Indicates the namespace of the wrapper element for RPCstyle messages

Optional

urn:someNamespace

The following example illustrates the SOAP fault element.

<wsdl:definitions ... >... <wsdl:binding ... > ... <wsdl:operation ... > ... <wsdl:fault ... >* <soap12:fault name="xs:NMTOKEN" namespace="xs:anyURI" ? use="literal|encoded" ? encodingStyle="xs:anyURI" ? ... /> ... </wsdl:fault> </wsdl:operation> ... </wsdl:binding>...</wsdl:definitions>

The name attribute (of type xs:NMTOKEN) associates the corresponding wsdl:fault defined in thewsdl:portType for the containing wsdl:operation.

The use attribute, if present, indicates whether the message parts are encoded usingsome encoding rules, or whether the parts define the concrete schema of themessage. If the value is "encoded" the message parts are encoded using someencoding rules as specified by the value, actual or implied, of the encodingStyleattribute. If the value is "literal" then the message parts are literally defined bythe schema types referenced.

The namespace attribute (of type xs:anyURI), if present, defines the namespace to beassigned to the wrapper element for the fault. This attribute is ignored ifthe style attribute of either the soap12:binding element of the containing wsdl:binding orof the soap12:operation element of the containing wsdl:operation is either omitted or has a valueof “document”. This attribute must be present if the value of the styleattribute of the soap12:binding element of the containing wsdl:binding is “rpc”. Thevalue of the namespace attribute must not be a relative URI.

The encodingStyle attribute (of type xs:anyURI), if present, identifies the set of encodingrules used to construct the fault message. This attribute must not be presentunless the style attribute of the soap12:binding element of the containing wsdl:binding hasa value of “rpc” and the use attribute on the containing soap12:bodyelement has a value of "encoded". The value of the encodingStyle attribute mustnot be a relative URI.

SOAP 1.2 header and headerfault Elements

The header and headerfault elements enable you to define headers that are transmittedinside the header element of the SOAP Envelope. You do not have toexhaustively list all headers that appear in the SOAP 1.2 Envelope using header.For example, extensions to WSDL may imply specific headers should be added tothe actual payload and you do not have to list those headers here.

Table13 SOAP 1.2 header Element Attributes

Property

Description

Requiredor Optional

Example

message

Indicates the WSDL message that will be used in binding tothe header element

Required

part1

part

Indicates the parts from the WSDL message that will be includedin the header element

Required

part1

use

Indicates how message parts will be encoded in the SOAPheader

Required

literal

encodingStyle

Indicates a particular encoding style to use

Optional

http://someEncodingStyle

namespace

Indicates the namespace of the wrapperelement for RPC style messages

Optional

urn:someNamespace

The following example illustrates the SOAP 1.2 header element.

<wsdl:definitions ... >... <wsdl:binding ... >... <wsdl:operation ... >... <wsdl:input ... >* <soap12:header message="xs:QName" part="xs:NMTOKEN" use="literal|encoded" namespace="xs:anyURI" ? encodingStyle="xs:anyURI" ? ... /> *... </wsdl:input> <wsdl:output ... >* <soap12:header message="xs:QName" part="xs:NMTOKEN" use="literal|encoded" namespace="xs:anyURI" ? encodingStyle="xs:anyURI" ? ... /> *... </wsdl:output> </wsdl:operation>... </wsdl:binding>...</wsdl:definitions>

The message attribute (of type xs:QName), together with the parts attribute, indicates whichmessage parts are bound as children of the SOAP 1.2 header element of themessage. The referenced message does not need to be the same asthe message that defines the SOAP Body.

The parts attribute (of type xs:NMTOKEN), together with the message attribute, indicates whichmessage part is bound as a child of the SOAP 1.2 header element ofthe message.

The namespace attribute (of type xs:anyURI), if present, defines the namespace to beassigned to the header element serialized with use="encoded". In all cases, the headeris constructed as if the style attribute of the wsoap12:binding element, of the containingwsdl:binding, has a value of “document”. The value of the namespace attribute, ifpresent, must not be a relative URI.

The use attribute indicates whether the message parts are encoded using some encodingrules, or whether the parts define the concrete schema of the message. Ifthe value is "encoded" the message parts are encoded using some encoding rulesas specified by the value, actual or implied, of the encodingStyle attribute. Ifthe value is "literal" then the message parts are literally defined by the schematypes referenced.

The encodingStyle attribute (of type xs:anyURI), if present, identifies the set of encodingrules used to construct the message. This attribute must not be present unlessthe style attribute, of the soap12:binding element, of the containing wsdl:binding, has avalue of “rpc” and the use attribute, on the containing soap12:body element, hasa value of "encoded". The value of the encodingStyle attribute, if present,must not be a relative URI.

/soap12:header/@{any}}} is an extensibility mechanism that enables additional attributes, that are defined ina foreign namespace, to be added to the element.

Optional soap12:headerfault elements, which appear inside wsoap12:header elements, specify the header types used totransmit error information pertaining to the header, defined by the soap12:header.

Table14 SOAP 1.2 headerfault Element Attributes

Property

Description

Required orOptional

Example

message

Indicates the WSDL message that will be used in binding to theheaderfault element

Required

part1

part

Indicates the parts from the WSDL message that will be included inthe headerfault element

Required

part1

use

Indicates how message parts will be encoded in the SOAP headerfault

Required

literal

encodingStyle

Indicatesa particular encoding style to use

Optional

http://someEncodingStyle

namespace

Indicates the namespace of the wrapper elementfor RPC style messages

Optional

urn:someNamespace

The following example illustrates the SOAP 1.2 headerfault element.

<wsdl:definitions ... >... <wsdl:binding ... >... <wsdl:operation ... >... <wsdl:input ... > <soap12:header ... > <soap12:headerfault message="xs:QName" part="xs:NMTOKEN" use="literal|encoded" namespace="xs:anyURI" ? encodingStyle="xs:anyURI" ? ... /> * </soap12:header> *... </wsdl:input> * <wsdl:output ... > <soap12:header ... > <soap12:headerfault message="xs:QName" part="xs:NMTOKEN" use="literal|encoded" namespace="xs:anyURI" ? encodingStyle="xs:anyURI" ? ... /> * </soap12:header> *... </wsdl:output> * </wsdl:operation>... </wsdl:binding>...</wsdl:definitions>

The headerfault elements, which appear inside header and have the same syntax asheader, enable you to specify the header types that are used to transmiterror information pertaining to the header, defined by the header. The SOAP specificationstates that errors pertaining to headers must be returned in headers, and thismechanism enables you to specify the format of such headers.

The message attribute (of type xs:QName), together with the parts attribute, indicates whichmessage part is to be bound as a child of the SOAP 1.2header element of the message, for returning faults pertaining to the enclosing soap12:header.The referenced message does not need to be the same as themessage that defines the SOAP Body.

The parts attribute (of type xs:NMTOKEN), together with the message attribute, indicates whichmessage part is to be bound as a child of the SOAP 1.2header element of the message for returning faults pertaining to the enclosing soap12:header.

The namespace attribute (of type xs:anyURI), if present, defines the namespace to beassigned to the wrapper element for an rpc-style operation. This attribute is ignoredif the style attribute of either the soap12:binding element, of the containing wsdl:bindingor of the soap12:operation element of the containing wsdl:operation, is either omitted orhas a value of “document”. This attribute must be present if the valueof the style attribute of the soap12:binding element of the containing wsdl:binding is“rpc”. The value of the namespace attribute, must not be a relativeURI.

The use attribute indicates whether the message parts are encoded using some encodingrules, or whether the parts define the concrete schema of the message. Ifthe value is "encoded" the message parts are encoded using some encoding rules,as specified by the value, actual or implied, of the encodingStyle attribute. Ifthe value is "literal" then the message parts are literally defined by the schematypes referenced.

The encodingStyle attribute (of type xs:anyURI), if present, identifies the set of encodingrules used to construct the message. This attribute must not be present unlessthe style attribute, of the soap12:binding element, of the containing wsdl:binding, has avalue of “rpc” and the use attribute on the containing soap12:body element hasa value of "encoded". The value of the encodingStyle attribute must notbe a relative URI.

/soap12:headerfault/@{any}}} is an extensibility mechanism that enables additional attributes, defined in a foreignnamespace, to be added to the element.

SOAP 1.2 WSDL Extensibility Elements (2024)
Top Articles
Latest Posts
Recommended Articles
Article information

Author: Laurine Ryan

Last Updated:

Views: 5953

Rating: 4.7 / 5 (77 voted)

Reviews: 92% of readers found this page helpful

Author information

Name: Laurine Ryan

Birthday: 1994-12-23

Address: Suite 751 871 Lissette Throughway, West Kittie, NH 41603

Phone: +2366831109631

Job: Sales Producer

Hobby: Creative writing, Motor sports, Do it yourself, Skateboarding, Coffee roasting, Calligraphy, Stand-up comedy

Introduction: My name is Laurine Ryan, I am a adorable, fair, graceful, spotless, gorgeous, homely, cooperative person who loves writing and wants to share my knowledge and understanding with you.