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:01:19 UTC