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 Tuesday, 29 April 2003 12:19:55 UTC