- From: Sergey Beryozkin <sberyozkin@zandar.com>
- Date: Wed, 30 Apr 2003 18:16:06 +0100
- To: <www-ws-desc@w3.org>, "Arthur Ryman" <ryman@ca.ibm.com>
- Message-ID: <002e01c30f3c$2fc6d4c0$1800a8c0@BERYOZKIN>
Arthur, thanks for looking at the proposal at [1] , inspired by the experimental service [2] - its use of relative URIs is interesting indeed. Cheers Sergey Beryozkin Zandar Technologies, Dublin, Ireland [1] http://www.zandar.com/webservices/articles/SessionWebServices.htm ("Time to REST" section - no bookmarks, sorry) [2] http://groups.yahoo.com/group/soapbuilders/message/8201 ----- Original Message ----- From: Arthur Ryman To: www-ws-desc@w3.org Sent: Wednesday, April 30, 2003 5:26 PM Subject: Re: proposal for restricting a service to a single interface Sergey, I looked at [1] and your <reference> proposal is structurally very similar to the <endpoint> proposal. In your proposal the @wsdl specifies a binding: <portType name="InformationQueryPortType"> <operation name="getToolkits"> <output message="tns:getToolkitsResponse"> <!-- part attribute is optional when a message has only one part --> <reference part="toolkits" portType="ToolkitPortType" xpath="q:Toolkits/q:Toolkit/@wsdl"/> <!-- possibly some more references to other port types in this output, within the same part or other parts --> </output> </operation> </portType> Your use of xpath is the same, but in the <endpoint> proposal, the binding info is defered to the <binding> element and is declared statically in the WSDL document. Concerning relative URIs, I suggest that XML Base [2] be used. I'll start a separate thread on that. [1] http://www.zandar.com/webservices/articles/SessionWebServices.htm [2] http://www.w3.org/TR/xmlbase/ Arthur Ryman, WebSphere Studio Development Lead, Web Services, XML and Data Tools phone: 905-413-3077, TL 969-3077 assistant: 905-413-2323, TL 969-2323 fax: 905-413-4920, TL 969-4920 intranet: http://w3.torolab.ibm.com/~ryman/ "Sergey Beryozkin" <sberyozkin@zandar.com> Sent by: www-ws-desc-request@w3.org 04/29/2003 12:20 PM To: Arthur Ryman/Toronto/IBM@IBMCA cc: "Amelia A. Lewis" <alewis@tibco.com>, "WS-Desc \(\(Public\)\)" <www-ws-desc@w3.org> Subject: Re: proposal for restricting a service to a single interface Arthur, please have a look at http://www.zandar.com/webservices/articles/SessionWebServices.htm (I wrote it back in November 2002), the relevant part is "Time to REST" section at the bottom of the article, where I was trying to put some suggestions regarding R085 resolution (using Simon Fell's registration service as an example, thanks). It took me some time this morning to understand what I was trying to say there :-); the idea was that to discover a binding dynamically at runtime for a given endpoint an extra @wsdl attribute was required, and it was that @wsdl attribute that was located through an xpath selector. xlink:href which is used across the service is relative, and as such there was an assumption that the runtime knows that it must append xlink:href's value to the endpoint'sURI of the referencing service, and use GET (or whatever the dynamically discovered binding says) on a new URI. Also instead of specifying and locating @wsdl attribute (it's xlink:href which must be located and @binding attribute, if required, be used instead , as shown in the proposal [1]), issuing HTTP OPTIONS [2] on the new URI could theoretically get the binding as well, thus making the binding discovery process completely automatic, it may not be practical though. By the way, are relative URIs (as the values of xlink:href) are allowed in the proposal [1] ? Thank you Sergey Beryozkin, Zandar Technologies, Dublin, Ireland [1] http://lists.w3.org/Archives/Public/www-ws-desc/2003Apr/att-0088/R085-2003-0 4-22.html [2] http://lists.w3.org/Archives/Public/www-ws-desc/2002Nov/0006.html Sergey, > But what if each part contains multiple endpoints itself ? <p:Part>, for > example, might not only contain a specification URI, but also have a list > of vendor' URIs, etc. If the message contains multiple endpoints of different interface types, then you use a <endpoint> for each. The <endpoint> element is a child of <input>, <output> or <fault> and can appear many times within each. e.g. <input> <endpoint name="partUri" interface="tns:PartInterface" ..../> <endpoint name="specUri" interface="tns:SpecInterface" .../> </input> Arthur Ryman,
Received on Wednesday, 30 April 2003 13:16:07 UTC