This section describes the status of this document at the time of its publication. Other documents may supersede this document.

By publishing this document, W3C acknowledges that the Submitting Members have made a formal Submission request to W3C for discussion. Publication of this document by W3C indicates no endorsement of its content by W3C, nor that W3C has, is, or will be allocating any resources to the issues addressed by it. This document is not the product of a chartered W3C group, but is published as potential input to the W3C Process. A W3C Team Comment has been published in conjunction with this Member Submission. Publication of acknowledged Member Submissions at the W3C site is one of the benefits of W3C Membership. Please consult the requirements associated with Member Submissions of section 3.3 of the W3C Patent Policy. Please consult the complete list of acknowledged W3C Member Submissions.

Lines (31-46) in Table 1 are a binding of the port type in
Lines (24-29). The extension in Lines (32-34) is in the namespace of this
specification (Line 05) and indicates the messages use the SOAP 1.2 [SOAP 1.2] protocol, over HTTP (Line 33), and using the
document style (Line 34).

Lines (36-38) indicates the value of the action parameter
(Line 37) and that the service requires this parameter (Line 38).

Line (40) and Line (43) indicate the SOAP Body is literally
described. Specifically, Line (43) indicates that the SOAP Body of the response
is described the XML Schema element declaration in Line (14).

Lines (49-53) are a port bound to the binding in Lines
(31-46). The binding extension in Lines (51-52) indicates the service may be
reached at "http://localhost/helloworld".

The keywords "MUST", "MUST NOT",
"REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED",
"MAY", and "OPTIONAL" in this document are to be
interpreted as described in RFC 2119 [RFC 2119].

Namespace URIs of the general
form "http://www.example.com/…" represents some application-dependent
or context-dependent URI as defined in RFC 2396 [RFC 2396].

The characters "[" and "]" are used to
call out references and XML Information Set [Infoset]
property names.

This specification uses the following syntax to define
outlines for messages:

The syntax appears as an XML instance, but values in
italics indicate data types instead of literal values.

Characters are appended to elements and attributes to
indicate cardinality:

"?" (0 or 1)

"*" (0 or more)

"+" (1 or more)

The character "|" is used to indicate a choice
between alternatives.

The characters "(" and ")" are used to
indicate that contained items are to be treated as a group with respect to
cardinality or choice.

Ellipses (i.e., "...") indicate points of
extensibility. Additional children and/or attributes MAY be added at the
indicated extension points but MUST NOT contradict the semantics of the
parent and/or owner, respectively. By default, if a receiver does not
recognize an extension, the receiver SHOULD ignore the extension;
exceptions to this processing rule, if any, are clearly indicated below.

XML namespace prefixes (see Table 2) are used to indicate
the namespace of the element being defined.

Grammar in bold has not been introduced earlier in the document,
or is of particular interest in an example.

Examples starting with <?xml
contain enough information to conform to this specification; other
examples are fragments and require additional information to be specified
in order to conform.

An endpoint MAY implement more than one of the roles defined
herein. An endpoint is not compliant with this specification if it fails to
satisfy one or more of the MUST or REQUIRED level requirements defined herein
for the roles it implements.

Normative text within this specification takes precedence
over outlines, which in turn take precedence over the XML Schema [XML Schema Part 1, Part 2]
and WSDL [WSDL 1.1] descriptions (if any), which in turn
take precedence over examples.

The following describes the content model of the wsoap12:binding element.

/wsoap12:binding

This
extension element MUST be present as the first child element of a wsdl:binding element that describes a binding to the SOAP 1.2
protocol.

/wsoap12:binding/@style

The
value of the style attribute, if present, is a string that specifies the
default style for each operation in the containing wsdl:binding element. The style
attribute indicates whether the operations within the containing wsdl:binding element are RPC-oriented (messages containing
parameters and return values) or document-oriented (message containing
document(s)). RPC-oriented operations are marked by style="rpc", document-oriented operations are marked by style="document". If the style
attribute is omitted, each of the operations described in the containing wsdl:binding are implicitly interpreted to have a default style of "document".

/wsoap12:binding/@transport

The
value of the REQUIRED transport attribute (of
type xs:anyURI) indicates which transport of SOAP this binding corresponds to.
The URI value "http://schemas.xmlsoap.org/soap/http" corresponds to the HTTP binding. Other URIs may be used here to indicate other
transports (such as SMTP, FTP, etc.).

/wsoap12:binding/@{any}

This is an extensibility mechanism to allow additional
attributes, defined in a foreign namespace, to be added to the element.

The following describes the content model of the wsoap12:operation element.

/wsoap12:operation

When bound to HTTP, exactly one wsoap12:operation extension element MUST be present
as the first child of the wsdl:operation
element. For the SOAP/HTTP protocol binding, this element is required.

/wsoap12:operation/@soapAction

The
OPTIONAL 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 value of this attribute MUST be an absolute
URI.

/wsoap12:operation/@soapActionRequired

The soapActionRequired attribute (of type xs:Boolean), if present, indicates
whether or not the value of the soapAction
attribute must be conveyed in the request message. If the soapActionRequired attribute is omitted, its value defaults to 'true'.
When the value of soapActionRequired is ‘true’, the soapAction
attribute MUST be present.

/wsoap12:operation/@style

The
value of the style attribute, if present, is a string that specifies the
style for the operation. The style
attribute indicates whether the operation is RPC-oriented (messages containing
parameters and return values) or document-oriented (message containing
document(s)). If the style attribute is omitted
from the wsoap12:operation element, then the operation inherits the style
specified, or implied, by the wsoap12:binding element in the containing wsdl:binding
element.

/wsoap12:operation/@{any}

This is an extensibility mechanism to allow additional
attributes, defined in a foreign namespace, to be added to the element.

The wsoap12:body binding extension element provides information on how
to bind the different message parts to the Body
element of the SOAP 1.2 envelope. The wsoap12:body
element is used in both RPC-oriented and document-oriented messages, but the
style of the enclosing operation has important effects on how the Body element of the SOAP 1.2 envelope is structured:

If the binding style is rpc each
part is a parameter or a return value and appears inside a wrapper element
within the body. The wrapper element is assigned a [local name] of the operation
name and a [namespace name] of the value of the namespace
attribute of the wsoap12:body element. Each
message part, defined with the type attribute, (part accessor) is carried as a
child element of the wrapper element. Part accessor elements are represented by
an element with a [local name] of the value of the name
attribute of the corresponding wsdl:part
element and a [namespace name] with no value.

If the operation style is document
the child elements of the soap:Body MUST be
elements as defined by the global element declarations identified by the
respective QName values of the element
attributes of the wsdl:part element children of
the corresponding wsdl:message element. The
message parts appear as child elements of the soap:Body element and there are
no additional wrappers.

The following describes the content model of the wsoap12:body element.

/wsoap12:body

Exactly one wsoap12:body extension element MUST be present as the
first child of each of the wsdl:input and wsdl:output elements present in each wsdl:operation element in a wsdl:binding
that describes a SOAP 1.2 endpoint binding.

/wsoap12:body/@parts

The
OPTIONAL parts attribute (of type wsoap12:tParts, which is a list of xs:NMTOKENs) indicates which message
parts are bound to the SOAP 1.2 Body
element of the message (other message parts may be bound to other portions of
the message such as when SOAP is used in conjunction with the multipart/related
MIME binding, or when bound as SOAP header blocks). If the parts attribute is omitted, then all parts defined by the
associated wsdl:message are assumed to be included in the SOAP Body.

/wsoap12:body/@namespace

The namespace attribute (of type xs:anyURI), if present, defines
the namespace to be assigned to the wrapper element for an rpc-style operation.
This attribute is ignored if the style
attribute of either the wsoap12:binding element of
the containing wsdl:binding or of the wsoap12:operation element of the containing wsdl:operation is either omitted or has a value of “document”. This attribute MUST be
present if the value of the style
attribute of the wsoap12:binding element of the containing wsdl:binding is “rpc”. The value of the namespace attribute, if present, MUST NOT be a relative URI.

/wsoap12:body/@use

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

/wsoap12:body/@encodingStyle

The encodingStyle attribute (of type xs:anyURI), if present, identifies
the set of encoding rules used to construct the message. This attribute MUST
NOT be present unless the style
attribute of the wsoap12:binding element of the containing wsdl:binding has a value of “rpc” and the use attribute on the containing wsoap12:body element has a value of "encoded". The value
of the encodingStyle attribute, if present, MUST NOT be a relative URI.

/wsoap12:body/@{any}

This is an extensibility mechanism to allow additional
attributes, defined in a foreign namespace, to be added to the element.

The following describes the content model of the wsoap12:fault element.

/wsoap12:fault

The wsoap12:fault
extension element MUST be present as the first child of each wsdl:fault element of each wsdl:operation
child element of a wsdl:binding that describes
a SOAP 1.2 binding.

/wsoap12:fault/@name

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

/wsoap12:fault/@namespace

The namespace attribute (of type xs:anyURI), if present, defines
the namespace to be assigned to the wrapper element for the fault. This
attribute is ignored if the style
attribute of either the wsoap12:binding element of
the containing wsdl:binding or of the wsoap12:operation element of the containing wsdl:operation is either omitted or has a value of “document”. This attribute MUST be
present if the value of the style
attribute of the wsoap12:binding element of the containing wsdl:binding is “rpc”. The value of the namespace attribute, if present, MUST NOT be a relative URI.

/wsoap12:fault/@use

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

/wsoap12:fault/@encodingStyle

The encodingStyle attribute (of type xs:anyURI), if present, identifies
the set of encoding rules used to construct the fault message. This attribute
MUST NOT be present unless the style
attribute of the wsoap12:binding element of the containing wsdl:binding has a value of “rpc” and the use attribute on the containing wsoap12:body element has a value of "encoded". The value
of the encodingStyle attribute, if present, MUST NOT be a relative URI.

/wsoap12:fault/@{any}

This is an extensibility mechanism to allow additional
attributes, defined in a foreign namespace, to be added to the element.

The following describes the content model of the wsoap12:address element.

/wsoap12:address

Exactly one wsoap12:address extension element MUST be present as
the first child of the wsdl:port element that
is bound to a wsdl:binding that uses the WSDL 1.1 Binding Extension for SOAP
1.1.

/wsoap12:address/@location

The REQUIRED location attribute (of type xs:anyURI) is a URI at
which the endpoint can be accessed. The value of the location
attribute MUST NOT be a relative URI. The URI scheme specified MUST correspond
to the transport or transfer protocol specified by the wsoap12:binding/@transport attribute of the
corresponding wsdl:binding of the containing wsdl:port.

/wsoap12:address/@{any}

This is an extensibility mechanism to allow additional
attributes, defined in a foreign namespace, to be added to the element.

The wsoap12:header element
allows a header to be defined that is transmitted within the SOAP 1.2 Header element. It is not necessary to exhaustively
list all headers that appear in the SOAP Envelope using wsoap12:header.

The following describes the content model of the wsoap12:header element.

/wsoap12:header/@message

The
REQUIRED message attribute (of type xs:QName), together with the parts
attribute, indicates which message part is to be bound as children of the SOAP 1.2
Header element of the message. The referenced message need
not be the same as the message that defines the SOAP Body.

/wsoap12:header/@parts

The
REQUIRED parts attribute (of type xs:NMTOKEN), together with the message
attribute, indicates which message part is to be bound as a child of the SOAP 1.2
Header element of the message.

/wsoap12:header/@namespace

The namespace attribute (of type xs:anyURI), if present, defines
the namespace to be assigned to the header
element serialized with use="encoded". The header is constructed in all cases as if the style attribute of the wsoap12:binding element of the containing wsdl:binding
had a value of “document”. The value of the namespace
attribute, if present, MUST NOT be a relative URI.

/wsoap12:header/@use

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

/wsoap12:header/@encodingStyle

The encodingStyle attribute (of type xs:anyURI), if present, identifies
the set of encoding rules used to construct the message. This attribute MUST
NOT be present unless the style
attribute of the wsoap12:binding element of the containing wsdl:binding has a value of “rpc” and the use attribute on the containing wsoap12:body element has a value of "encoded". The value
of the encodingStyle attribute, if present, MUST NOT be a relative URI.

/wsoap12:header/@{any}

This is an extensibility mechanism to allow additional
attributes, defined in a foreign namespace, to be added to the element.

/wsoap12:header/wsoap12:headerfault

Optional wsoap12:headerfault
elements which appear inside wsoap12:header
elements specify the header type(s) that are used to transmit error information
pertaining to the header defined by the wsoap12:header.

The following describes the content model of the wsoap12:headerfault element.

/wsoap12:headerfault/@message

The
REQUIRED message attribute (of type xs:QName), together with the parts
attribute, indicates which message part is to be bound as children of the SOAP
1.2 Header element of the message for returning faults
pertaining to the enclosing wsoap12:header. The referenced message need not be the same as the message that
defines the SOAP Body.

/wsoap12:headerfault/@parts

The
REQUIRED parts attribute (of type xs:NMTOKEN), together with the message
attribute, indicates which message part is to be bound as children of the SOAP
1.2 Header element of the message for returning faults
pertaining to the enclosing wsoap12:header.

/wsoap12:headerfault/@namespace

The namespace attribute (of type xs:anyURI), if present, defines
the namespace to be assigned to the wrapper element for an rpc-style operation.
This attribute is ignored if the style
attribute of either the wsoap12:binding element of
the containing wsdl:binding or of the wsoap12:operation element of the containing wsdl:operation is either omitted or has a value of “document”. This attribute MUST be
present if the value of the style
attribute of the wsoap12:binding element of the containing wsdl:binding is “rpc”. The value of the namespace attribute, if present, MUST NOT be a relative URI.

/wsoap12:headerfault/@use

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

/wsoap12:headerfault/@encodingStyle

The encodingStyle attribute (of type xs:anyURI), if present, identifies
the set of encoding rules used to construct the message. This attribute MUST
NOT be present unless the style
attribute of the wsoap12:binding element of the containing wsdl:binding has a value of “rpc” and the use attribute on the containing wsoap12:body element has a value of "encoded". The value
of the encodingStyle attribute, if present, MUST NOT be a relative URI.

/wsoap12:headerfault/@{any}

This is an extensibility mechanism to allow additional
attributes, defined in a foreign namespace, to be added to the element.

To avoid breaking signatures, intermediates MUST NOT change
the XML representations defined herein. Specifically, intermediaries MUST NOT
rewrite XML namespace prefix mappings. Similarly, intermediaries MUST NOT
remove XML content that explicitly indicates otherwise-implied content, and
intermediaries MUST NOT insert XML content to make implied values explicit. For
instance, if a soapActionRequired attribute is present with a value of
"false" an intermediary MUST NOT remove it; similarly, if there is no
soapActionRequired attribute, an intermediary MUST NOT add one.