3.1.3 Binding WSDL 2.0 MEPs to SOAP 1.2 MEPs
In the case of SOAP 1.2 bindings, that is, those whose type is "http://www.w3.org/2005/08/wsdl/soap12", the transport-level semantics of an operation with WS-Addressing engaged can be determined from
- The WSDL MEP of the operation
- The [reply endpoint] and [fault endpoint] of the inbound message, collectively referred to as response endpoints
- The bindings of the SOAP request-response and one-way MEP to the appropriate transports
- The rules below
In what follows
- A response endpoint is used if it is the destination of a
message belonging to the WSDL MEP of the operation being invoked.
- An endpoint is anonymous if its [address] is the
anonymous endpoint defined in section 2.1 of the WS-Addressing core.
- An endpoint is null if its [address] is the "none"
endpoint defined in section 2.1 of the WS-Addressing core.
3.1.3.1 SOAP request-response
If an anonymous response endpoint is used, then the inbound and outbound messages together MUST comply
with the SOAP request-response MEP defined in section 6.2 of the SOAP
1.2 adjuncts, as bound to the transport of the endpoint.
NOTE: In the context of the currently defined WSDL 2.0
MEPs, this will occur in the following cases:
- robust in-only, if a fault is produced and the [fault
endpoint] is anonymous.
- in-out, if a normal reply is produced and
the [reply endpoint] is anonymous.
- in-out, if a fault is produced and the
[fault endpoint] is anonymous.
3.1.3.2 SOAP one-way
If no anonymous response endpoints are used, whether because none are
present or
because there is no message with such an endpoint as a destination,
then the WSDL MEP will be realized as either one or two SOAP one-way
MEPs, depending on the operation, the application-level processing and
the response endpoints, according to the following two rules. The
first rule concerns the inbound message. The second concerns the
outbound message, if any.
If no anonymous response endpoint is used, the
delivery of the inbound message of the operation MUST comply with the
SOAP one-way MEP, as bound to the transport of the
endpoint of the operation.
NOTE: In the context of the currently defined WSDL 2.0
MEPs, this will occur in the following cases:
- in-only
- robust in-only, if no fault is produced
- robust in-only, if a fault is produced but the [fault
endpoint] is not anonymous
- in-out, if a normal reply is produced but the [reply
endpoint] is not anonymous
- in-out, if a fault is produced but the [fault endpoint] is
not anonymous
If a non-anonymous EPR is used as the destination of an
outbound message, the outbound message MUST comply with the SOAP
one-way MEP, as bound to the transport of the EPR in
question.
NOTE: In the context of the currently defined WSDL 2.0
MEPs, this will occur in the following cases:
- robust in-only, if a fault is produced and the [fault
endpoint] is not anonymous and not null.
- in-out, if a normal reply is produced and the
[reply endpoint] is not anonymous and not null.
- in-out, if a fault is produced and the
[fault endpoint] is not anonymous and not null.
NOTE: In the case of a robust in-only operation MEP with
an anonymous [fault endpoint], or the case of an in-out MEP where one
response endpoint is anonymous and the other is not, either section 3.1.3.1 or
3.1.3.2 will apply depending on the outcome of the
operation. For this reason, bindings for transports which support both
the SOAP one-way and request-response MEPs must be defined in such a
way that the inbound message handling is identical for both MEPs and
the sender can always determine that the operation has completed.