- From: David Orchard <dorchard@bea.com>
- Date: Wed, 28 Sep 2005 15:03:21 -0700
- To: <public-ws-addressing@w3.org>
- Message-ID: <32D5845A745BFB429CBDBADA57CD41AF1342D789@ussjex01.amer.bea.com>
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:33 UTC