#!/usr/bin/perl -w use strict; use Getopt::Std; use SOAP::Lite; #use SOAP::Lite + 'trace'; use MOBY::Client::Central; my $central; my $central_uri; my $central_url; # # Get options. # my %opts; getopts('dc:', \%opts); print "\n"; if ( $opts{'d'} ) { if ($ENV{MOBY_URI} && $ENV{MOBY_SERVER}) { my$central_uri = $ENV{MOBY_URI}; my$central_url = $ENV{MOBY_SERVER}; print "Using default BioMOBY Central from env vars:\n"; print "\t$central_uri\@$central_url\n"; } else { print "Using default BioMOBY Central.\n"; } $central = MOBY::Client::Central->new; } elsif ( $opts{'c'} ) { my ($central_uri, $central_url) = split '@', $opts{'c'}; print "Using BioMOBY Central:\n"; print "\t$central_uri\@$central_url\n"; # Set this to wherever your BioMOBY Central is. $central = MOBY::Client::Central->new( Registries => { mobycentral => { URL => $central_url, URI => $central_uri } } ); } Usage() unless defined $central; # # Get service types. # print "Known service types:\n\n"; my $types = $central->retrieveServiceTypes(); my $type; my $description; format = @<<<<<<<<<<<<<<<<<<<<<<<<<... ^<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< "$type:", $description ~ ^<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< $description ~ ^<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<... $description . while (($type, $description) = each %{$types}){ write; } print "\nFinished!\n"; # # Subs. # sub Usage { print "Usage: GetServiceTypes.pl [options]\n"; print "available options are:\n"; print " -d Use the default BioMOBY Central.\n"; print " -c [Central] Specify which BioMOBY Central to use.\n"; print " Format for [Central] = [CentralURI]@[CentralURL].\n"; print "\n"; exit; }