Proposal: EPR as WSDL extension

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