- From: Jonathan Marsh <jmarsh@microsoft.com>
- Date: Mon, 2 May 2005 10:12:47 -0700
- To: <www-ws-desc@w3.org>
- Cc: <Marc.Hadley@Sun.COM>
Per my AI, here is a draft proposal defining the use of
wsa:EndpointReference as a WSDL 2.0 extension. See also Marc H's post
http://lists.w3.org/Archives/Public/public-ws-addressing/2005Apr/0062.ht
ml which is similar but I'm not sure covers precisely the same scope.
I took the approach of merging the information model for EPRs with the
WSDL component model, rather than augmenting the endpoint component with
a new EPR component. This keeps [address] consistent as the values are
identical, and avoids defining an EPR extension component. The other
approach seems more involved but I don't see why it couldn't work as
well. I made no attempt to address WSDL 1.1.
This text seems most logical to insert as a new section in the
WS-Addressing WSDL Binding spec, perhaps after Section 3 as I've done
below.0
--------------------------------------------
4. Using EPRs in WSDL endpoints
Endpoint references can be used as extensions in WSDL endpoints in place
of wsdl:endpoint/@address. The wsa:EndpointReference element is placed
as a child of wsdl:endpoint.
<wsdl:service name="reservationService"
interface="tns:reservationInterface"
xmlns:wsdl="...">
<wsdl:endpoint name="reservationEndpoint"
binding="tns:reservationSOAPBinding">
<wsa:EndpointReference xmlns:wsa="..."
wsdl:required="true">
<wsa:Address>http://greath.example.com/2004/reservation</wsa:Address>
</wsa:EndpointReference>
</wsdl:endpoint>
</wsdl:service>
When the extension is understood, the WSDL 2.0 component model is
modified according to the rules in [4.2 Mapping to WSDL Component
Model]. Messages sent to the endpoint using the SOAP binding MUST be
constructed following the rules in [WS-Addressing 1.0 SOAP Binding].
wsdl:required="true" MAY appear on wsa:EndpointReference to indicate
that consumers should not attempt to use the endpoint if they cannot
understand and fully process this extension.
The wsdl:endpoint/@address attribute SHOULD be omitted when the
wsa:EndpointReference extension is used with wsdl:required="true". For
interoperability, the wsdl:endpoint/@address attribute SHOULD match the
value of wsa:Address when wsdl:required is not "true".
4.2 Mapping to WSDL Component model
The EPR extension modifies the WSDL 2.0 component model for the Endpoint
component as follows:
{address} (existing WSDL 2.0 component model property)
The value of [destination]. This overrides the value specified in
the wsdl:endpoint/@address attribute, if any.
{reference parameters} (new WSDL 2.0 component model property)
The value of [reference parameters].
{metadata} (new WSDL 2.0 component model property)
The value of [metadata].
extension properties
The value of any WS-A extension properties.
Received on Monday, 2 May 2005 17:12:53 UTC