W3C
Web Services Addressing 1.0 - WSDL Binding
W3C Working Draft 15 February 2005
This version:
http://www.w3.org/TR/2005/WD-ws-addr-wsdl-20050215
Latest version:
http://www.w3.org/TR/ws-addr-wsdl
Previous versions:
http://www.w3.org/TR/2004/WD-ws-addr-wsdl-20041208
Editors:
Martin Gudgin, Microsoft Corp
Marc Hadley, Sun Microsystems, Inc
This document is also available in these non-normative formats: postscript, PDF
, XML, and plain text.
Copyright © 2005 W3C^® (MIT, ERCIM, Keio), All Rights Reserved. W3C liability,
trademark and document use rules apply.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Abstract
Web Services Addressing provides transport-neutral mechanisms to address Web
services and messages. Web Services Addressing 1.0 - WSDL Binding (this
document) defines how the abstract properties defined in Web Services
Addressing 1.0 - Core are described using WSDL.
Status of this Document
This section describes the status of this document at the time of its
publication. Other documents may supersede this document. A list of current W3C
publications and the latest revision of this technical report can be found in
the W3C technical reports index at http://www.w3.org/TR/.
This is the second Public Working Draft of the Web Services Addressing 1.0 -
WSDL Binding specification for review by W3C members and other interested
parties. It has been produced by the Web Services Addressing Working Group
(WG), which is part of the W3C Web Services Activity.
This Working Draft reflects the current position of the Working Group. A
diff-marked version against the previous version of this document is available.
For a detailed list of changes since the last publication of this document,
please refer to appendix B. Change Log. A list of remaining issues is also
available.
Discussion of this document takes place on the public-ws-addressing@w3.org
mailing list (public archive). Comments on this specification should be sent to
this mailing list.
This document was produced under the 5 February 2004 W3C Patent Policy. The
Working Group maintains a public list of patent disclosures relevant to this
document; that page also includes instructions for disclosing [and excluding] a
patent. An individual who has actual knowledge of a patent which the individual
believes contains Essential Claim(s) with respect to this specification should
disclose the information in accordance with section 6 of the W3C Patent Policy.
Per section 4 of the W3C Patent Policy, Working Group participants have 150
days from the title page date of this document to exclude essential claims from
the W3C RF licensing requirements with respect to this document series.
Exclusions are with respect to the exclusion reference document, defined by the
W3C Patent Policy to be the latest version of a document in this series that is
published no later than 90 days after the title page date of this document.
Publication as a Working Draft does not imply endorsement by the W3C
Membership. This is a draft document and may be updated, replaced or obsoleted
by other documents at any time. It is inappropriate to cite this document as
other than work in progress.
┌──────────────────────────────────────┬──────────────────────────────────────┐
│Editorial note │ │
├──────────────────────────────────────┴──────────────────────────────────────┤
│The Web Services Addressing Working Group has decided to use XML Schema, │
│where appropriate, to describe constructs defined in this specification. Note│
│that this restricts use of Web Services Addressing to XML 1.0. │
└─────────────────────────────────────────────────────────────────────────────┘
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Short Table of Contents
1. Introduction
2. Endpoint References
3. Associating Action with WSDL Operations
4. WS-Addressing and WSDL Message Exchange Patterns
5. References
A. Acknowledgements (Non-Normative)
B. Change Log (Non-Normative)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Table of Contents
1. Introduction
1.1 Notational Conventions
1.2 Namespaces
2. Endpoint References
2.1 Information Model for Endpoint References
3. Associating Action with WSDL Operations
3.1 Explicit Association
3.2 Default Action Pattern for WSDL 2.0
3.3 Default Action Pattern for WSDL 1.1
4. WS-Addressing and WSDL Message Exchange Patterns
4.1 WSDL 1.1 Message Exchange Patterns
4.1.1 One-way
4.1.2 Request-Response
4.1.3 Notification
4.1.4 Solicit-response
4.2 WSDL 2.0 Message Exchange Patterns
4.2.1 In-only
4.2.2 Robust In-only
4.2.3 In-out
4.2.4 In-optional-out
4.2.5 Out-only
4.2.6 Robust Out-only
4.2.7 Out-in
4.2.8 Out-optional-in
5. References
Appendices
A. Acknowledgements (Non-Normative)
B. Change Log (Non-Normative)
B.1 Changes Since First Working Draft
B.2 Changes Since Submission
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
1. Introduction
Web Services Addressing 1.0 - Core[WS-Addressing-Core] defines a set of
abstract properties and an XML Infoset [XML Information Set] representation
thereof to reference Web service endpoints and to facilitate end-to-end
addressing of endpoints in messages. Web Services Addressing 1.0 - WSDL Binding
(this document) defines how the abstract properties defined in Web Services
Addressing 1.0 - Core are described using WSDL.
1.1 Notational Conventions
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 [IETF RFC 2119].
When describing abstract data models, this specification uses the notational
convention used by the XML Infoset [XML Information Set]. Specifically,
abstract property names always appear in square brackets (e.g., [some
property]).
When describing concrete XML schemas [XML Schema Structures, XML Schema
Datatypes], this specification uses the notational convention of WS-Security [
WS-Security]. Specifically, each member of an element's [children] or
[attributes] property is described using an XPath-like notation (e.g., /
x:MyHeader/x:SomeProperty/@value1). The use of {any} indicates the presence of
an element wildcard (). The use of @{any} indicates the presence of an
attribute wildcard ().
1.2 Namespaces
This specification uses a number of namespace prefixes throughout; they are
listed in Table 1-1. Note that the choice of any namespace prefix is arbitrary
and not semantically significant (see [XML Namespaces]).
Table 1-1. Prefixes and Namespaces used in this
specification
┌──────┬────────────────────────────────────────┐
│Prefix│Namespace │
├──────┼────────────────────────────────────────┤
│S │http://www.w3.org/2003/05/soap-envelope │
├──────┼────────────────────────────────────────┤
│S11 │http://schemas.xmlsoap.org/soap/envelope│
├──────┼────────────────────────────────────────┤
│wsa │http://www.w3.org/2005/02/addressing │
├──────┼────────────────────────────────────────┤
│xs │http://www.w3.org/2001/XMLSchema │
└──────┴────────────────────────────────────────┘
WS-Addressing is defined in terms of the XML Information Set [XML Information
Set]. WS-Addressing is designed to be able to work with WSDL 2.0 [WSDL 2.0] and
also (for backwards compatibility with WSDL 1.1 [WSDL 1.1] described services.
WS-Addressing may be used with SOAP [SOAP 1.2 Part 1: Messaging Framework] as
described in Web Services Addressing 1.0 - SOAP Binding[WS-Addressing-SOAP].
The examples in this specification use an XML 1.0 [XML 1.0] representation but
this is not a requirement.
All information items defined by WS-Addressing are identified by the XML
namespace URI [XML Namespaces] "http://www.w3.org/2005/02/addressing". A
normative XML Schema [XML Schema Structures, XML Schema Datatypes] document can
be obtained by dereferencing the XML namespace URI.
2. Endpoint References
Web Services Addressing introduces a new description element type, the endpoint
reference, to support a set of dynamic usage patterns not currently
appropriately covered by WSDL 1.1 [WSDL 1.1].
To support these scenarios, we define a lightweight and extensible mechanism to
dynamically reference and describe service endpoints and instances. Endpoint
references logically extend the WSDL description model (e.g., portTypes,
bindings, etc.), but do not replace it. Endpoint references can be used in the
following cases:
• Specific instances of a stateful service need to be reference or its
instance-specific configuration details need to be transmitted.
• A lightweight, self-contained description of a service endpoint needs to be
communicated. In particular, this may be necessary when the details of the
endpoint configuration are already shared by the communicating parties, but
specific policy information needs to be added or updated, typically as a
result of a dynamic configuration process.
Endpoint references complement and do not replace WSDL service references. We
expect solutions built on WSDL to continue to utilize service references. The
endpoint references may link to service references in WSDL, and support
additional scenarios in which the WSDL information is not known by a party
processing a message. These scenarios may include dynamic messaging or limited
capability message processors.
2.1 Information Model for Endpoint References
The WSDL binding of Web Services Addressing introduces the following additional
abstract properties:
[selected interface] : QName (0..1)
A QName identifying a description of the sequences of messages that a
service sends and/or receives. This corresponds to a WSDL 2.0 interface and
/or a WSDL 1.1 port type.
[service endpoint] : (QName, NCName (0..1)) (0..1)
A QName, NCName pair that provide a reference to a to a full description of
a set of service endpoints. The QName identifies the set of endpoints at
which a particular Web service is deployed, the NCName identifies one
endpoint in particular. The set of endpoints is represented by a service in
WSDL 2.0 and WSDL 1.1. A particular endpoint is represented by an endpoint
in WSDL 2.0 and a port in WSDL 1.1.
3. Associating Action with WSDL Operations
WS-Addressing defines two mechanisms to associate an action with input, output
and fault elements within a WSDL description: explicit and defaulting. Explicit
association is described in section 3.1 Explicit Association; action defaulting
is described in section 3.3 Default Action Pattern for WSDL 1.1 for WSDL 1.1
and section 3.2 Default Action Pattern for WSDL 2.0 for WSDL 2.0.
3.1 Explicit Association
WS-Addressing defines a global attribute, wsa:Action, that may be used to
explicitly define the value of the [action] property for messages in a WSDL
description. The type of the attribute is xs:anyURI and it is used as an
extension on the WSDL input, output and fault elements.
For example consider the following WSDL excerpt:
Example 3-1. Explicit specification of wsa:Action value in a WSDL 2.0
description.
...
...
The action for the input of the GetLastTradePrice operation within the
StockQuoteInterface is explicitly defined to be http://example.com/GetQuote.
The action for the output of this same operation is http://example.com/Quote.
Example 3-2. Explicit specification of wsa:Action value in a WSDL 1.1
description.
...
...
The action for the input of the GetLastTradePrice operation within the
StockQuotePortType is explicitly defined to be http://example.com/GetQuote. The
action for the output of this same operation is http://example.com/Quote.
3.2 Default Action Pattern for WSDL 2.0
In the absence of the wsa:Action attribute, the following pattern is used in
WSDL 2.0 documents to construct a default action for inputs and outputs. The
general form of an action URI is as follows:
Example 3-3. Structure of defaulted wsa:Action URI in WSDL 2.0.
[target namespace]/[interface name]/[operation name][direction token]
For fault messages, the general form of an action URI is as follows:
Example 3-4. Structure of default wsa:Action URI for faults
[target namespace]/[interface name]/[fault name]
The "/" is a literal character to be included in the action. The values of the
properties are as defined below.
[target namespace] is the {target namespace} of the interface. If [target
namespace] ends with a "/" an additional "/" is not added.
[interface name] is the {name} of the interface.
[operation name] is the {name} of the operation.
[fault name] is the {name} of the fault.
[direction token] is:
• Empty ("") where the operation's {message exchange pattern} is "http://
www.w3.org/2004/08/wsdl/in-only", "http://www.w3.org/2004/08/wsdl/
robust-in-only", "http://www.w3.org/2004/08/wsdl/out-only", or "http://
www.w3.org/2004/08/wsdl/robust-out-only".
• "Request" where the operation's {message exchange pattern} is "http://
www.w3.org/2004/08/wsdl/in-out" or "http://www.w3.org/2004/08/wsdl/
in-opt-out" and the message reference's {message label} = 'in'.
• "Solicit" where the operation's {message exchange pattern} is "http://
www.w3.org/2004/08/wsdl/out-in" or "http://www.w3.org/2004/08/wsdl/
out-opt-in" and the message reference's {message label} = 'out'.
• "Response" where the operation's {message exchange pattern} is "http://
www.w3.org/2004/08/wsdl/in-out" or "http://www.w3.org/2004/08/wsdl/
in-opt-out" and the message reference's {message label} = 'out'.
• "Response" where the operation's {message exchange pattern} is "http://
www.w3.org/2004/08/wsdl/out-in", or "http://www.w3.org/2004/08/wsdl/
out-opt-in" and the message reference's {message label} = 'in'.
• {message label} where the {message exchange pattern} is not one of the MEP
URIs defined in WSDL 2.0 Part 2.
For example consider the following WSDL excerpt:
Example 3-5. Example WSDL without explicit wsa:Action values with explicit
message names.
...
...
[targetNamespace] = http://example.com/stockquote
[interface name] = StockQuoteInterface
[operation name] = GetLastTradePrice
[direction token] for input is Request
[direction token] for output is Response
Applying the pattern above with these values we have:
input action = http://example.com/stockquote/StockQuoteInterface/
GetLastTradePriceRequest
output action = http://example.com/stockquote/StockQuoteInterface/
GetLastTradePriceResponse
3.3 Default Action Pattern for WSDL 1.1
In the absence of the wsa:Action attribute, the following pattern is used to
construct a default action for inputs and outputs. The general form of an
action URI is as follows:
Example 3-6. Structure of defaulted wsa:Action URI.
[target namespace]/[port type name]/[input|output name]
For fault messages, the general form of an action URI is as follows:
Example 3-7. Structure of default wsa:Action URI for faults
[target namespace]/[port type name]/[operation name]Fault:[fault name]
The "/" and ":" are literal characters to be included in the action. The values
of the properties are as defined below.
[target namespace] is the target namespace (/definition/@targetNamespace). If
[target namespace] ends with a "/" an additional "/" is not added.
[port type name] is the name of the port type (/definition/portType/@name).
[input|output name] is the name of the element as defined in Section 2.4.5 of
WSDL 1.1.
[fault name] is the name of the fault (/definition/porttype/operation/fault/
@name).
For example consider the following WSDL excerpt:
Example 3-8. Example WSDL without explicit wsa:Action values with explicit
message names.
...
...
[targetNamespace] = http://example.com/stockquote
[port type name] = StockQuotePortType
[input name] = GetQuote
[output name] = Quote
[fault name] = Error
Applying the pattern above with these values we have:
input action = http://example.com/stockquote/StockQuotePortType/GetQuote
output action = http://example.com/stockquote/StockQuotePortType/Quote
fault action = http://example.com/stockquote/StockQuotePortType/
GetLastTradePriceFault:Error
WSDL defines rules for a default input or output name if the name attribute is
not present. Consider the following example:
Example 3-9. Example WSDL without explicit wsa:Action values or explicit
message names.
...
...
[targetNamespace] = http://example.com/stockquote
[port type name] = StockQuotePortType
According to the rules defined in Section 2.4.5 of WSDL 1.1, if the name
attribute is absent for the input of a request response operation the default
value is the name of the operation "Request" appended.
[input name] = GetLastTradePriceRequest
Likewise, the output defaults to the operation name with "Response" appended.
[output name] = GetLastTradePriceResponse
Applying the pattern above with these values we have:
input action = http://example.com/stockquote/StockQuotePortType/
GetLastTradePriceRequest
output action = http://example.com/stockquote/StockQuotePortType/
GetLastTradePriceResponse
4. WS-Addressing and WSDL Message Exchange Patterns
This section describes which of the core message properties are mandatory or
optional for messages in the various MEPs defined by WSDL 1.1 and WSDL 2.0.
4.1 WSDL 1.1 Message Exchange Patterns
This section describes which of the core message properties are mandatory or
optional for messages in the various MEPs defined by WSDL 1.1.
4.1.1 One-way
This is a straightforward one-way message. No responses are expected but
related messages could be sent as part of other message exchanges.
Table 4-1. Message addressing properties for one way message.
┌──────────────┬─────────┬────────────────────────────────────────────────────┐
│Property │Mandatory│Description │
├──────────────┼─────────┼────────────────────────────────────────────────────┤
│[destination] │ Y │Provides the address of the intended receiver of │
│ │ │this message │
├──────────────┼─────────┼────────────────────────────────────────────────────┤
│[action] │ Y │Identifies the semantics implied by this message │
├──────────────┼─────────┼────────────────────────────────────────────────────┤
│[source │ │Message origin. Unused in this MEP, but may be │
│endpoint] │ N │included to facilitate longer running message │
│ │ │exchanges. │
├──────────────┼─────────┼────────────────────────────────────────────────────┤
│[reply │ │Intended receiver for replies to this message. │
│endpoint] │ N │Unused in this MEP, but may be included to │
│ │ │facilitate longer running message exchanges. │
├──────────────┼─────────┼────────────────────────────────────────────────────┤
│[fault │ │Intended receiver for faults related to this │
│endpoint] │ N │message. Unused in this MEP, but may be included to │
│ │ │facilitate longer running message exchanges. │
├──────────────┼─────────┼────────────────────────────────────────────────────┤
│ │ │Unique identifier for this message. Unused in this │
│[message id] │ N │MEP, but may be included to facilitate longer │
│ │ │running message exchanges. │
├──────────────┼─────────┼────────────────────────────────────────────────────┤
│ │ │Indicates relationship to a prior message. Unused in│
│[relationship]│ N │this MEP, but may be included to facilitate longer │
│ │ │running message exchanges. │
└──────────────┴─────────┴────────────────────────────────────────────────────┘
4.1.2 Request-Response
This is request-response. A reply is expected hence mandating [reply endpoint]
in the request message. The response message might be a fault.
Table 4-2. Message addressing properties for request message.
┌──────────────┬─────────┬────────────────────────────────────────────────────┐
│Property │Mandatory│Description │
├──────────────┼─────────┼────────────────────────────────────────────────────┤
│[destination] │ Y │Provides the address of the intended receiver of │
│ │ │this message │
├──────────────┼─────────┼────────────────────────────────────────────────────┤
│[action] │ Y │Identifies the semantics implied by this message │
├──────────────┼─────────┼────────────────────────────────────────────────────┤
│[source │ │Message origin. Unused in this MEP, but may be │
│endpoint] │ N │included to facilitate longer running message │
│ │ │exchanges. │
├──────────────┼─────────┼────────────────────────────────────────────────────┤
│[reply │ Y │Intended receiver for the reply to this message. │
│endpoint] │ │ │
├──────────────┼─────────┼────────────────────────────────────────────────────┤
│[fault │ │Intended receiver for faults related to this │
│endpoint] │ N │message. May be included to direct fault messages to│
│ │ │a different endpoint than [reply endpoint]. │
├──────────────┼─────────┼────────────────────────────────────────────────────┤
│[message id] │ Y │Unique identifier for this message. Used in the │
│ │ │[relationship] property of the reply message. │
├──────────────┼─────────┼────────────────────────────────────────────────────┤
│ │ │Indicates relationship to a prior message. Unused in│
│[relationship]│ N │this MEP, but may be included to facilitate longer │
│ │ │running message exchanges. │
└──────────────┴─────────┴────────────────────────────────────────────────────┘
Table 4-3. Message addressing properties for response message.
┌──────────────┬─────────┬────────────────────────────────────────────────────┐
│Property │Mandatory│Description │
├──────────────┼─────────┼────────────────────────────────────────────────────┤
│[destination] │ Y │Provides the address of the intended receiver of │
│ │ │this message │
├──────────────┼─────────┼────────────────────────────────────────────────────┤
│[action] │ Y │Identifies the semantics implied by this message │
├──────────────┼─────────┼────────────────────────────────────────────────────┤
│[source │ │Message origin. Unused in this MEP, but may be │
│endpoint] │ N │included to facilitate longer running message │
│ │ │exchanges. │
├──────────────┼─────────┼────────────────────────────────────────────────────┤
│[reply │ │Intended receiver for replies to this message. │
│endpoint] │ N │Unused in this MEP, but may be included to │
│ │ │facilitate longer running message exchanges. │
├──────────────┼─────────┼────────────────────────────────────────────────────┤
│[fault │ │Intended receiver for faults related to this │
│endpoint] │ N │message. Unused in this MEP, but may be included to │
│ │ │facilitate longer running message exchanges. │
├──────────────┼─────────┼────────────────────────────────────────────────────┤
│ │ │Unique identifier for this message. Unused in this │
│[message id] │ N │MEP, but may be included to facilitate longer │
│ │ │running message exchanges. │
├──────────────┼─────────┼────────────────────────────────────────────────────┤
│ │ │Indicates that this message is a reply to the │
│[relationship]│ Y │request message using the request message [message │
│ │ │id] value and the predefined http://www.w3.org/2005/│
│ │ │02/addressing/reply URI. │
└──────────────┴─────────┴────────────────────────────────────────────────────┘
4.1.3 Notification
From the WS-Addressing perspective this MEP is the same as One-way. The
properties defined in 4.1.1 One-way apply to this MEP also.
4.1.4 Solicit-response
From the WS-Addressing perspective this MEP is the same as Request-response.
The properties defined in 4.1.2 Request-Response apply to this MEP also.
4.2 WSDL 2.0 Message Exchange Patterns
This section describes which of the core message properties are mandatory or
optional for messages in the various MEPs defined by WSDL 2.0.
4.2.1 In-only
This is a straightforward one-way message. No responses are expected but
related messages could be sent as part of other message exchanges.
Table 4-4. Message addressing properties for in message.
┌──────────────┬─────────┬────────────────────────────────────────────────────┐
│Property │Mandatory│Description │
├──────────────┼─────────┼────────────────────────────────────────────────────┤
│[destination] │ Y │Provides the address of the intended receiver of │
│ │ │this message │
├──────────────┼─────────┼────────────────────────────────────────────────────┤
│[action] │ Y │Identifies the semantics implied by this message │
├──────────────┼─────────┼────────────────────────────────────────────────────┤
│[source │ │Message origin. Unused in this MEP, but may be │
│endpoint] │ N │included to facilitate longer running message │
│ │ │exchanges. │
├──────────────┼─────────┼────────────────────────────────────────────────────┤
│[reply │ │Intended receiver for replies to this message. │
│endpoint] │ N │Unused in this MEP, but may be included to │
│ │ │facilitate longer running message exchanges. │
├──────────────┼─────────┼────────────────────────────────────────────────────┤
│[fault │ │Intended receiver for faults related to this │
│endpoint] │ N │message. Unused in this MEP, but may be included to │
│ │ │facilitate longer running message exchanges. │
├──────────────┼─────────┼────────────────────────────────────────────────────┤
│ │ │Unique identifier for this message. Unused in this │
│[message id] │ N │MEP, but may be included to facilitate longer │
│ │ │running message exchanges. │
├──────────────┼─────────┼────────────────────────────────────────────────────┤
│ │ │Indicates relationship to a prior message. Unused in│
│[relationship]│ N │this MEP, but may be included to facilitate longer │
│ │ │running message exchanges. │
└──────────────┴─────────┴────────────────────────────────────────────────────┘
4.2.2 Robust In-only
This one-way MEP allows fault messages. The [message id] property is needed in
the initial message in order to be able to correlate any fault with that
message.
Table 4-5. Message addressing properties for in message.
┌──────────────┬─────────┬────────────────────────────────────────────────────┐
│Property │Mandatory│Description │
├──────────────┼─────────┼────────────────────────────────────────────────────┤
│[destination] │ Y │Provides the address of the intended receiver of │
│ │ │this message │
├──────────────┼─────────┼────────────────────────────────────────────────────┤
│[action] │ Y │Identifies the semantics implied by this message │
├──────────────┼─────────┼────────────────────────────────────────────────────┤
│[source │ │Message origin. Unused in this MEP, but may be │
│endpoint] │ N │included to facilitate longer running message │
│ │ │exchanges. │
├──────────────┼─────────┼────────────────────────────────────────────────────┤
│[reply │ │Intended receiver for replies to this message. │
│endpoint] │ N │Unused in this MEP, but may be included to │
│ │ │facilitate longer running message exchanges. │
├──────────────┼─────────┼────────────────────────────────────────────────────┤
│[fault │ N │Intended receiver for faults related to this │
│endpoint] │ │message. │
├──────────────┼─────────┼────────────────────────────────────────────────────┤
│ │ │Unique identifier for this message. Used in the │
│[message id] │ Y │[relationship] property of any resulting fault │
│ │ │message. │
├──────────────┼─────────┼────────────────────────────────────────────────────┤
│ │ │Indicates relationship to a prior message. Unused in│
│[relationship]│ N │this MEP, but may be included to facilitate longer │
│ │ │running message exchanges. │
└──────────────┴─────────┴────────────────────────────────────────────────────┘
┌──────────────────────────────────────┬──────────────────────────────────────┐
│Editorial note: MJH │ │
├──────────────────────────────────────┴──────────────────────────────────────┤
│Given that [message id] is mandatory above, should [fault endpoint] also be │
│required ? │
└─────────────────────────────────────────────────────────────────────────────┘
Table 4-6. Message addressing properties for fault message.
┌──────────────┬─────────┬────────────────────────────────────────────────────┐
│Property │Mandatory│Description │
├──────────────┼─────────┼────────────────────────────────────────────────────┤
│[destination] │ Y │Provides the address of the intended receiver of │
│ │ │this message │
├──────────────┼─────────┼────────────────────────────────────────────────────┤
│[action] │ Y │Identifies the semantics implied by this message │
├──────────────┼─────────┼────────────────────────────────────────────────────┤
│[source │ │Message origin. Unused in this MEP, but may be │
│endpoint] │ N │included to facilitate longer running message │
│ │ │exchanges. │
├──────────────┼─────────┼────────────────────────────────────────────────────┤
│[reply │ │Intended receiver for replies to this message. │
│endpoint] │ N │Unused in this MEP, but may be included to │
│ │ │facilitate longer running message exchanges. │
├──────────────┼─────────┼────────────────────────────────────────────────────┤
│[fault │ │Intended receiver for faults related to this │
│endpoint] │ N │message. Unused in this MEP, but may be included to │
│ │ │facilitate longer running message exchanges. │
├──────────────┼─────────┼────────────────────────────────────────────────────┤
│ │ │Unique identifier for this message. Unused in this │
│[message id] │ N │MEP, but may be included to facilitate longer │
│ │ │running message exchanges. │
├──────────────┼─────────┼────────────────────────────────────────────────────┤
│ │ │Indicates that this message is a response to the in │
│[relationship]│ Y │message using the in message [message id] value and │
│ │ │the predefined http://www.w3.org/2005/02/addressing/│
│ │ │reply URI. │
└──────────────┴─────────┴────────────────────────────────────────────────────┘
┌──────────────────────────────────────┬──────────────────────────────────────┐
│Editorial note: MJH │ │
├──────────────────────────────────────┴──────────────────────────────────────┤
│Should [fault endpoint] be prohibited in the above ? This would prevent │
│getting a fault in response to a fault. │
└─────────────────────────────────────────────────────────────────────────────┘
4.2.3 In-out
This is a two-way MEP. A reply is expected hence mandating [reply endpoint] in
the request message. The response message might be a fault.
Table 4-7. Message addressing properties for in message.
┌──────────────┬─────────┬────────────────────────────────────────────────────┐
│Property │Mandatory│Description │
├──────────────┼─────────┼────────────────────────────────────────────────────┤
│[destination] │ Y │Provides the address of the intended receiver of │
│ │ │this message │
├──────────────┼─────────┼────────────────────────────────────────────────────┤
│[action] │ Y │Identifies the semantics implied by this message │
├──────────────┼─────────┼────────────────────────────────────────────────────┤
│[source │ │Message origin. Unused in this MEP, but may be │
│endpoint] │ N │included to facilitate longer running message │
│ │ │exchanges. │
├──────────────┼─────────┼────────────────────────────────────────────────────┤
│[reply │ Y │Intended receiver for the reply to this message. │
│endpoint] │ │ │
├──────────────┼─────────┼────────────────────────────────────────────────────┤
│[fault │ │Intended receiver for faults related to this │
│endpoint] │ N │message. May be included to direct fault messages to│
│ │ │a different endpoint than [reply endpoint]. │
├──────────────┼─────────┼────────────────────────────────────────────────────┤
│[message id] │ Y │Unique identifier for this message. Used in the │
│ │ │[relationship] property of the out message. │
├──────────────┼─────────┼────────────────────────────────────────────────────┤
│ │ │Indicates relationship to a prior message. Unused in│
│[relationship]│ N │this MEP, but may be included to facilitate longer │
│ │ │running message exchanges. │
└──────────────┴─────────┴────────────────────────────────────────────────────┘
Table 4-8. Message addressing properties for out message.
┌──────────────┬─────────┬────────────────────────────────────────────────────┐
│Property │Mandatory│Description │
├──────────────┼─────────┼────────────────────────────────────────────────────┤
│[destination] │ Y │Provides the address of the intended receiver of │
│ │ │this message │
├──────────────┼─────────┼────────────────────────────────────────────────────┤
│[action] │ Y │Identifies the semantics implied by this message │
├──────────────┼─────────┼────────────────────────────────────────────────────┤
│[source │ │Message origin. Unused in this MEP, but may be │
│endpoint] │ N │included to facilitate longer running message │
│ │ │exchanges. │
├──────────────┼─────────┼────────────────────────────────────────────────────┤
│[reply │ │Intended receiver for replies to this message. │
│endpoint] │ N │Unused in this MEP, but may be included to │
│ │ │facilitate longer running message exchanges. │
├──────────────┼─────────┼────────────────────────────────────────────────────┤
│[fault │ │Intended receiver for faults related to this │
│endpoint] │ N │message. Unused in this MEP, but may be included to │
│ │ │facilitate longer running message exchanges. │
├──────────────┼─────────┼────────────────────────────────────────────────────┤
│ │ │Unique identifier for this message. Unused in this │
│[message id] │ N │MEP, but may be included to facilitate longer │
│ │ │running message exchanges. │
├──────────────┼─────────┼────────────────────────────────────────────────────┤
│ │ │Indicates that this message is a response to the in │
│[relationship]│ Y │message using the in message [message id] value and │
│ │ │the predefined http://www.w3.org/2005/02/addressing/│
│ │ │reply URI. │
└──────────────┴─────────┴────────────────────────────────────────────────────┘
4.2.4 In-optional-out
This MEP differs from the In-out MEP in that the subsequent message is
optional. This difference doesn't affect the message properties so the
properties defined in 4.2.3 In-out apply to this MEP also
4.2.5 Out-only
From the WS-Addressing perspective this MEP is the same as In-only. The
properties defined in 4.2.1 In-only apply to this MEP also.
4.2.6 Robust Out-only
From the WS-Addressing perspective this MEP is the same as Robust In-only. The
properties defined in 4.2.2 Robust In-only apply to this MEP also.
4.2.7 Out-in
From the WS-Addressing perspective this MEP is the same as In-out. The
properties defined in 4.2.3 In-out apply to this MEP also.
4.2.8 Out-optional-in
This MEP differs from the Out-in MEP in that the subsequent message is
optional. This difference doesn't affect the message properties so the
properties defined in 4.2.3 In-out apply to this MEP also
5. References
[WS-Addressing-Core]
Web Services Addressing 1.0 - Core, M. Gudgin, M. Hadley, Editors.
[WS-Addressing-SOAP]
Web Services Addressing 1.0 - SOAP Binding, M. Gudgin, M. Hadley, Editors.
[WSDL 2.0]
Web Services Description Language 2.0, R. Chinnici, M. Gudgin, J. J.
Moreau, J. Schlimmer, S. Weerawarana, Editors. World Wide Web Consortium, 3
August 2004. This version of the WSDL 2.0 specification is http://
www.w3.org/TR/2004/WD-wsdl20-20040803. The latest version of WSDL 2.0 is
available at http://www.w3.org/TR/wsdl20.
[IETF RFC 2119]
Key words for use in RFCs to Indicate Requirement Levels, S. Bradner,
Author. Internet Engineering Task Force, June 1999. Available at http://
www.ietf.org/rfc/rfc2119.txt.
[RFC 3986]
T. Berners-Lee, et al, "Uniform Resource Identifier (URI): Generic
Syntax,", W3C/MIT, January 2005. (See http://www.ietf.org/rfc/rfc3986.txt.)
[XML 1.0]
Extensible Markup Language (XML) 1.0 (Second Edition), T. Bray, J. Paoli,
C. M. Sperberg-McQueen, and E. Maler, Editors. World Wide Web Consortium,
10 February 1998, revised 6 October 2000. This version of the XML 1.0
Recommendation is http://www.w3.org/TR/2000/REC-xml-20001006. The latest
version of XML 1.0 is available at http://www.w3.org/TR/REC-xml.
[XML Namespaces]
Namespaces in XML, T. Bray, D. Hollander, and A. Layman, Editors. World
Wide Web Consortium, 14 January 1999. This version of the XML Information
Set Recommendation is http://www.w3.org/TR/1999/REC-xml-names-19990114. The
latest version of Namespaces in XML is available at http://www.w3.org/TR/
REC-xml-names.
[XML Information Set]
XML Information Set, J. Cowan and R. Tobin, Editors. World Wide Web
Consortium, 24 October 2001. This version of the XML Information Set
Recommendation is http://www.w3.org/TR/2001/REC-xml-infoset-20011024. The
latest version of XML Information Set is available at http://www.w3.org/TR/
xml-infoset.
[XML Schema Structures]
XML Schema Part 1: Structures, H. Thompson, D. Beech, M. Maloney, and N.
Mendelsohn, Editors. World Wide Web Consortium, 2 May 2001. This version of
the XML Schema Part 1 Recommendation is http://www.w3.org/TR/2001/
REC-xmlschema-1-20010502. The latest version of XML Schema Part 1 is
available at http://www.w3.org/TR/xmlschema-1.
[XML Schema Datatypes]
XML Schema Part 2: Datatypes, P. Byron and A. Malhotra, Editors. World Wide
Web Consortium, 2 May 2001. This version of the XML Schema Part 2
Recommendation is http://www.w3.org/TR/2001/REC-xmlschema-2-20010502. The
latest version of XML Schema Part 2 is available at http://www.w3.org/TR/
xmlschema-2.
[SOAP 1.2 Part 1: Messaging Framework]
SOAP Version 1.2 Part 1: Messaging Framework, M. Gudgin, M. Hadley, N.
Mendelsohn, J-J. Moreau, H. Frystyk Nielsen, Editors. World Wide Web
Consortium, 24 June 2003. This version of the "SOAP Version 1.2 Part 1:
Messaging Framework" Recommendation is http://www.w3.org/TR/2003/
REC-soap12-part1-20030624/. The latest version of "SOAP Version 1.2 Part 1:
Messaging Framework" is available at http://www.w3.org/TR/soap12-part1/.
[WSDL 1.1]
E. Christensen, et al, Web Services Description Language (WSDL) 1.1, March
2001.
[WS-Security]
OASIS, Web Services Security: SOAP Message Security, March 2004.
A. Acknowledgements (Non-Normative)
This document is the work of the W3C Web Service Addressing Working Group.
Members of the Working Group are (at the time of writing, and by alphabetical
order): Abbie Barbir (Nortel Networks), Rebecca Bergersen (IONA Technologies,
Inc.), Andreas Bjärlestam (ERICSSON), Ugo Corda (SeeBeyond Technology
Corporation), Francisco Curbera (IBM Corporation), Glen Daniels (Sonic
Software), Paul Downey (BT), Jacques Durand (Fujitsu Limited), Michael Eder
(Nokia), Robert Freund (Hitachi, Ltd.), Yaron Goland (BEA Systems, Inc.),
Martin Gudgin (Microsoft Corporation), Arun Gupta (Sun Microsystems, Inc.),
Hugo Haas (W3C/ERCIM), Marc Hadley (Sun Microsystems, Inc.), David Hull (TIBCO
Software, Inc.), Yin-Leng Husband (HP), Anish Karmarkar (Oracle Corporation),
Paul Knight (Nortel Networks), Philippe Le Hégaret (W3C/MIT), Mark Little
(Arjuna Technologies Ltd.), Jonathan Marsh (Microsoft Corporation), Jeff
Mischkinsky (Oracle Corporation), Nilo Mitra (ERICSSON), Eisaku Nishiyama
(Hitachi, Ltd.), Mark Nottingham (BEA Systems, Inc.), Ales Novy (Systinet
Inc.), David Orchard (BEA Systems, Inc.), Mark Peel (Novell, Inc.), Harris
Reynolds (webMethods, Inc.), Tony Rogers (Computer Associates), Tom Rutt
(Fujitsu Limited), Rich Salz (DataPower Technology, Inc.), Davanum Srinivas
(Computer Associates), Jiri Tejkl (Systinet Inc.), Greg Truty (IBM
Corporation), Steve Vinoski (IONA Technologies, Inc.), Pete Wenzel (SeeBeyond
Technology Corporation), Steve Winkler (SAP AG), Ümit Yalçınalp (SAP AG).
Previous members of the Working Group were: @@@.
The people who have contributed to discussions on public-ws-addressing@w3.org
are also gratefully acknowledged.
B. Change Log (Non-Normative)
B.1 Changes Since First Working Draft
┌──────────┬───────┬──────────────────────────────────────────────────────────┐
│ Date │Editor │ Description │
├──────────┼───────┼──────────────────────────────────────────────────────────┤
│2005-01-24│ │Incorporated resolution of i034 and i035; default action │
│@ 10:12 │mgudgin│URI for WSDL 2.0 and default action URI for faults. All │
│ │ │edits in section 3 │
├──────────┼───────┼──────────────────────────────────────────────────────────┤
│2005-01-18│mgudgin│Modified text in Section 2 WRT closing issue i020 │
│@ 04:01 │ │ │
├──────────┼───────┼──────────────────────────────────────────────────────────┤
│2004-12-16│mhadley│Added resolution to issue 19 - WSDL version neutrality │
│@ 18:20 │ │ │
├──────────┼───────┼──────────────────────────────────────────────────────────┤
│2004-12-16│mhadley│Added issue 33 resolution │
│@ 16:50 │ │ │
├──────────┼───────┼──────────────────────────────────────────────────────────┤
│2004-12-14│mhadley│Switched back to edcopy formatting │
│@ 20:10 │ │ │
├──────────┼───────┼──────────────────────────────────────────────────────────┤
│ │ │Enhanced auto-changelog generation to allow specification │
│2004-12-14│mhadley│of data ranges for logs. Split change log to show changes │
│@ 20:02 │ │between early draft and first working draft and changes │
│ │ │since first working draft. │
├──────────┼───────┼──────────────────────────────────────────────────────────┤
│2004-12-14│ │Added resolutions for issues 12 (EPR lifecycle), 37 │
│@ 18:13 │mhadley│(relationship from QName to URI) and 39 (spec name │
│ │ │versioning) │
└──────────┴───────┴──────────────────────────────────────────────────────────┘
B.2 Changes Since Submission
┌──────────┬───────┬──────────────────────────────────────────────────────────┐
│ Date │Editor │ Description │
├──────────┼───────┼──────────────────────────────────────────────────────────┤
│2004-12-04│mgudgin│Added text to section on WSDL MEPs per resolution of Issue│
│@ 02:04 │ │i003 │
├──────────┼───────┼──────────────────────────────────────────────────────────┤
│2004-11-23│ │Updated titles of examples. Fixed table formatting and │
│@ 21:38 │mhadley│references. Replaced uuid URIs with http URIs in examples.│
│ │ │Added document status. │
├──────────┼───────┼──────────────────────────────────────────────────────────┤
│2004-11-11│mgudgin│Added some TBD sections │
│@ 18:31 │ │ │
├──────────┼───────┼──────────────────────────────────────────────────────────┤
│ │ │Second more detailed run through to separate core, SOAP │
│2004-11-07│mhadley│and WSDL document contents. Removed dependency on │
│@ 02:03 │ │WS-Policy. Removed references to WS-Trust and │
│ │ │WS-SecurityPolicy │
├──────────┼───────┼──────────────────────────────────────────────────────────┤
│2004-11-02│mhadley│Replaced hardcoded change log with one generated │
│@ 21:45 │ │dynamically from CVS │
├──────────┼───────┼──────────────────────────────────────────────────────────┤
│2004-10-28│mhadley│Fixed typo in abstract │
│@ 18:09 │ │ │
├──────────┼───────┼──────────────────────────────────────────────────────────┤
│2004-10-28│mhadley│Initial cut of separating specification into core, soap │
│@ 17:05 │ │and wsdl │
└──────────┴───────┴──────────────────────────────────────────────────────────┘