Using the NVO Registry WebService from Java and C#
Below I briefly describe how to make a simple client for the registry prototype.
The Service URL
First we need the service URL which is
http://sdssdbs1.stsci.edu/nvo/registry/registry.asmx
The Java Client
Next we need some Client code - here is a simple client in Java
import org.us_vo.www.*;
class RegClient {
public static void main (String[] args) throws Exception {
RegistryLocator loc = new RegistryLocator();
RegistrySoap reg = loc.getRegistrySoap();
ArrayOfSimpleResource reses = null;
if ( args.length ==0 ) {
reses = reg.dumpRegistry();
} else {
reses = reg.queryRegistry(args[0]);
}
for (int i = 0 ; i < reses.getSimpleResource().length; i++) {
print(reses.getSimpleResource(i));
}
}
public static void print(SimpleResource res ) {
System.out.println(res.getTitle()+ "|"+ res.getPublisher() + "|" + res.getMaxSR());
}
}
AXIS always creates Localtor classes - where the service url may be changed.
Simple Resource is the object returned by the registry.
Making the client work
Obviously of we compile this none of the stub classes exist so we need to create them.
If you have AXIS installed and a class path set up as detailed on
WebgridTutorial then this is a simple matter of typing:
java org.apache.axis.wsdl.WSDL2Java "http://sdssdbs1.stsci.edu/nvo/registry/registry.asmx?WSDL"
Note: The \" are really important.
?WSDL is a convention for getting the WSDL frm a service. You will have seen this plenty earlier in the tutorial.
Now the client code should comile so Assuming the above code is in a file called
RegClient.java we type :
javac RegClient.java
and we may run it as follows
java RegClient "Subject like '%cosmology%'"
NOAO Science Archive|National Optical Astronomy Observatories|2.0
Hubble Space Telescope|Space Telescope Science Institute/MAST|180.0
Advanced Camera for Surveys|Space Telescope Science Institute/MAST|180.0
Faint Object Camera|Space Telescope Science Institute/MAST|180.0
....
--
WilliamOMullane - 02 Oct 2003