Resolving endpoints
Paul Harrison
pah at jb.man.ac.uk
Thu Jul 1 04:38:01 PDT 2004
I fully endorse Guy's original point on this, that the current accessURL
situation is ambiguous when it comes to web services and WSDL. I think
that as a minimum we should have a separate regisitry element that
points to the WSDL (or add wsdl as an option for the use attribute ).
So we might have the following snippet of WSDL service definition
<service name="test">
<port binding="tns:MyServiceBinding" name="MyService">
<soap:address location="http://localhost:8000/ccx/binding1"/>
</port>
<port binding="tns:HeartbeatBinding" name="HeartBeat">
<soap:address location="http://localhost:8000/ccx/test"/>
</port>
</service>
there would be a registy entry like
<Interface>
<Invocation>WebService</Invocation>
<AccessURL
use="wsdl">http:www.astrogrid.org/astrogrid-applicationsCommonExecutionConnectorService.wsdl</AccessURL>
<ServicePort>MyService</ServicePort>
</Interface>
Where the entry for <ServicePort> points to the name attribute of the
<port> in the wsdl above. If we were to insist that the standard
services had standard names, the the <ServicePort> element could just
point to the "main" service that was being offered - otherwise we
will have to come up with a way of saying in the registry which each of
these are - possibly with multiple <servicePort> entries with attributes.
<Interface>
<Invocation>WebService</Invocation>
<AccessURL
use="wsdl">http:www.astrogrid.org/astrogrid-applicationsCommonExecutionConnectorService.wsdl</AccessURL>
<ServicePort type="main">MyService</ServicePort>
<ServicePort type="heartbeat">HeartBeat</ServicePort>
</Interface>
This means that it is a more complicated to look up the endpoint for a
particular service, but this complexity is forced upon us by the
flexibility that is allowed by web services and WSDL. As Guy also
suggested it might be a good idea to have the lookupEndpoint() function
as part of the standard registry interface, so that most clients do not
have to worry about this complexity.
Paul.
Ray Plante wrote:
>Hi Guy,
>
>There is still ambiguity about what AccessURL points to in the case of Web
>Services. In VOResource v0.9, it is defined to point to the WSDL;
>however, there was some desire for it to point to the endpoint for the
>reasons you described. In the NVO registry, we didn't have a lot of
>Web Services defined (and that we critically depended on for our
>apps/demos), so it we were living with this ambiguity while we figured out
>what made sense.
>
>There are still some issues to address related to our discussion of
>standard WSDL definitions that will affect this question. For example,
>would we need or allow different parts of the interface to have different
>endpoints? If so, which one should be the "accessURL"? Should the other
>endpoints be placed in the registry as well? (probably so; then
>additional metadata are needed.) I'm doing some experiments now with
>Axis to test some of the ideas we've batted around.
>
>cheers,
>Ray
>
>
>
>
--
Dr. Paul Harrison, Astrogrid Developer
MERLIN/VLBI National Facility, University of Manchester,
Jodrell Bank Observatory, Macclesfield, Cheshire SK11 9DL, U.K.
tel +44 (0)1477 572681 (direct), 571321 (switch) - 07904025192 (mobile).
More information about the registry
mailing list