W3C home > Mailing lists > Public > www-ws-desc@w3.org > September 2005

RE: i057 Proposals

From: David Orchard <dorchard@bea.com>
Date: Wed, 28 Sep 2005 15:03:00 -0700
Message-ID: <32D5845A745BFB429CBDBADA57CD41AF1342D784@ussjex01.amer.bea.com>
To: <www-ws-desc@w3.org>
Sorry, wrong list..

 

  _____  

From: David Orchard 
Sent: Wednesday, September 28, 2005 3:01 PM
To: www-ws-desc@w3.org
Subject: i057 Proposals

 

I'd like to add another few options for i057, to specify ref params in
WSDL.

 

Option #3: re-use WS-Addressing ReferenceParameters construct in WSDL 

 

The proposal is that the wsa:ReferenceParameters can be a child element
of a wsdl20 endpoint or a wsdl 11 port.  

 

An inventory service might look like

 

 

<wsdl20:service name="InventoryService" interface="fabrikam:Inventory">

        <wsdl20:endpoint name="ep1" binding="abc:soap-http-binding" 

            address="http://example.com/fabrikam/acct">

            <wsa:ReferenceParameters
xmlns:wsa="http://www.w3.org/@@@@/@@/addressing"

                 xmlns:fabrikam="http://example.com/fabrikam">

                 <fabrikam:CustomerKey>123456789</fabrikam:CustomerKey>

                 <fabrikam:ShoppingCart>ABCDEFG</fabrikam:ShoppingCart>

         </wsa:ReferenceParameters>

        </wsdl20:endpoint>

  </wsdl20:service>

 

 

Option #4: re-use WSDL constructs.

 

Proposal is to re-use WSDL constructs in endpoints, such as wsdl 2.0
wsoap:header in wsdl 20 endpoint.

 

 

<wsdl20:types>

     <xs:element name="CustomerKey" >

       <xs:simpleType>

          <xs:restriction base='string'>

            <xs:pattern value='123456789'/>

            <xs:attribute ref="wsaw:isReferenceParameter" fixed="true"/>

          </xs:restriction>

       </xs:simpleType>

     </xs:element>

 

     <xs:element name="ShoppingCart" >

       <xs:simpleType>

          <xs:restriction base='string'>

            <xs:enumeration value='123456789'/>

            <xs:attribute ref="wsaw:isReferenceParameter" fixed="true"/>

          </xs:restriction>

       </xs:simpleType>

     </xs:element>

</wsdl20:types>

 

<wsdl20:service name="InventoryService" interface="fabrikam:Inventory">

        <wsdl20:endpoint name="ep1" binding="abc:soap-http-binding" 

            address="http://example.com/fabrikam/acct"/>

            <wsoap:header element="CustomerKey"/>

            <wsoap:header element="ShoppingCart"/> 

      </wsdl20:service>

 

Option #5: re-use EPRs inside WSDL

 

Existing proposal to re-use EPR, roughly option #3 of issue 56

 

<wsdl20:service name="InventoryService" interface="fabrikam:Inventory">

        <wsdl20:endpoint name="ep1" binding="abc:soap-http-binding" 

            address="http://example.com/fabrikam/acct"/>

        <wsa:EndpointReference

           xmlns:wsa="http://www.w3.org/@@@@/@@/addressing"

           xmlns:wsaw="http://www.w3.org/2005/03/addressing/wsdl"

           xmlns:fabrikam="http://example.com/fabrikam"

           xmlns:wsdli="http://www.w3.org/2005/08/wsdl-instance"

           wsdli:wsdlLocation="http://example.com/fabrikam

                http://example.com/fabrikam/fabrikam.wsdl">

        <wsa:Address>http://example.com/someotheracct</wsa:Address>

        <wsa:Metadata>

            <wsaw:InterfaceName>fabrikam:Inventory</wsaw:InterfaceName>

        </wsa:Metadata>

        <wsa:ReferenceParameters>

            <fabrikam:CustomerKey>123456789</fabrikam:CustomerKey>

         <fabrikam:ShoppingCart>ABCDEFG</fabrikam:ShoppingCart>

        </wsa:ReferenceParameters>

      </wsa:EndpointReference>

</wsdl20:service>

 

Option #6: re-use EPRs inside WSDL replacing wsdl20 endpoint (Glen's
fav)

 

<wsdl20:service name="InventoryService" interface="fabrikam:Inventory">

        <wsa:EndpointReference

           xmlns:wsa="http://www.w3.org/@@@@/@@/addressing"

           xmlns:wsaw="http://www.w3.org/2005/03/addressing/wsdl"

           xmlns:fabrikam="http://example.com/fabrikam"

           xmlns:wsdli="http://www.w3.org/2005/08/wsdl-instance"

           wsdli:wsdlLocation="http://example.com/fabrikam

                http://example.com/fabrikam/fabrikam.wsdl"

            name="ep1" binding="abc:soap-http-binding">

        <wsa:Address>http://example.com/someotheracct</wsa:Address>

        <wsa:Metadata>

            <wsaw:InterfaceName>fabrikam:Inventory</wsaw:InterfaceName>

        </wsa:Metadata>

        <wsa:ReferenceParameters>

            <fabrikam:CustomerKey>123456789</fabrikam:CustomerKey>

         <fabrikam:ShoppingCart>ABCDEFG</fabrikam:ShoppingCart>

        </wsa:ReferenceParameters>

      </wsa:EndpointReference>

</wsdl20:service>

 

 
Received on Wednesday, 28 September 2005 22:03:08 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Monday, 7 December 2009 10:58:37 GMT