![]() |
Of course, as for many Web Services, you can develop clients using the code generated from their WSDL descriptions. Also for the Bionanny Web Service you can use Axis's wsdl2java tool to get Java client stubs, or SOAP::Lite's tool stubmaker to get Perl stubs.
However, if you want to write your clients without generated stubs, here are short examples in Java and Perl:
![]() |
|
package org.bionanny.samples; import org.bionanny.shared.Bionanny; import embl.ebi.soap.axis.AxisCall; import java.net.URL; public class GetAllDataClient { public static void main (String [] args) throws Exception { AxisCall call = new AxisCall (new URL ("http://localhost:8080/axis/services/bionanny")); Object[] params = new Object[] { new Integer (Bionanny.CUMULATED_FOR_SERVICES), // level new String[] {}, // service names new Long (0), // period from new Long (0), // period to new String[] {} // metadata names }; System.out.println ((String)call.doCall ("getAsXML", params)); } }
You can start such client by typing:
build/run/run-any-client org.bionanny.samples.GetAllDataClient
![]() |
|
File: getalldata.pl
use strict; use Bionanny::Listener; my $listener = new Bionanny::Listener (-location => 'http://localhost:8080/axis/services/bionanny'); print $listener->get (-level => $listener->CUMULATED_FOR_SERVICES, -humandates => 1);
You can start such client by typing:
cd build/run perl getalldata.pl
Above, the cd build/run is because the script must know about package Bionanny::Listener. You can, of course, make it known in any other Perl ways. For example, by setting export PERL5LIB=.../bionanny/build/run.
Knowing that the location used above is a default one, and that the constant CUMULATED_FOR_SERVICES equals actually 1, you can make the same call as a Perl one-liner (well, now you get dates in a less human readable format):
perl -MBionanny::Listener -e 'print new Bionanny::Listener->get(-level, 1)'