Another WebService returning VOTable
Wil O'Mullane
womullan at skysrv.pha.jhu.edu
Fri Dec 12 06:20:22 PST 2003
actually now that I think back the SdssCOne is a webservice which uses
the HTTPget since thats what the protocol demands so you may also try
http://skyservice.pha.jhu.edu/devel/ConeSearch/sdssConeSearch.asmx?wsdl
also returns VOTable ...
On Fri, Dec 12, 2003 at 09:09:51AM -0500, Wil O'Mullane wrote:
> May I suggest someone points ther java wsdl2java at something like
>
> http://skyservice.pha.jhu.edu/devel/CasService/CasService.asmx?wsdl
>
> it returns a VOTable from
> GetVOtable
>
> Pass it sql like
>
> select top 10 * from galaxy
>
>
> That will give yo a VOTable set of Java classes and you
> will not have to parse the result ...
>
>
> wil
> On Fri, Dec 12, 2003 at 10:18:00AM +0000, Guy Rixon wrote:
> > The question was raised at an AVO meeting "for a web-service that returns a
> > VOTable can the service return a Java object so we don't have to parse the
> > VOTable?"
> >
> > Well, the web service itself is defined to return XML, so it will return
> > VOTable; it can't return Java directly. In any case, a public service needs
> > to support clients in many languages.
> >
> > The conversion from VOTable to Java _has_ to be done in the client, but there
> > are three ways to do this:
> >
> > - make the author of the client application write the parser;
> >
> > - have the service publisher supply a stub that does the parsing;
> >
> > - have the service publisher supply a delegate that does the parsing.
> >
> > Both stubs and delegates are classes in the programming language that provide
> > the function of the XML interface. They do serialization of objects to XML and
> > deserialization of objects from XML to the programming language. Stubs
> > and delegates are both compiled into client programmes. Stubs
> > and delegates operate at different levels of abtraction.
> >
> > Stubs are low level. They match the XML interface closely. Typically, a stub
> > has one object method for each operation in the XML interface. Arguments and
> > return values of methods in the stub may be objects; the stub maps these to
> > XML fragments in the XML interface. Stubs are usually generated from WSDL by
> > tools. I.e. the inteface of a stub is usually fixed by the XML interface.
> >
> > Delegates are high level. They are usually hand-coded. The methods in a
> > delegate class don't always map one-to-one with operations in the WSDL.
> > Arguments and return values of delegate classes don't always map trivially to
> > the structures in the XML interfaces. I.e., the interface of the delegate can
> > be tuned to help the author of client applications.
> >
> > A delegate can be written to call a stub. This lets the delegate use the
> > tool-generated code in the stub and hence to be simpler.
> >
> > Stubs are hard to produce and use when complex data structures are being
> > exchanged. They work best when all the objects that are arguments or return
> > values are Java beans (or the equivalent in other languages): these can be
> > serialized to and deserialized from XML by standard libraries. The fall-back
> > position is to have the stub return a DOM: i.e. to do only the lowest level of
> > parsing of the XML.
> >
> > Trying to generate stubs for services that return VOTable is going to be hard.
> > For the use case in the original question, it seems sensible to provide a stub
> > that returns a VOTable as a DOM and then provide a delegate that calls the
> > stub and returns the VOTable as an object, using a VOTable-specific parser.
> >
> > AstroGrid provides delegate classes in Java for its services, and these are
> > typically based on Java stubs made with Apache-Axis. Authors of applications
> > in other languages can still used the published XML interfaces in their own
> > stubs and delegates.
> >
> > The XML interfaces remain the definitions of the services. Stubs and
> > delegates are just helper classes to make things easier for authors of
> > clients.
> >
> > Guy Rixon gtr at ast.cam.ac.uk
> > Institute of Astronomy Tel: +44-1223-337542
> > Madingley Road, Cambridge, UK, CB3 0HA Fax: +44-1223-337523
More information about the grid
mailing list