The perl SOAP server below reads the input table biblinks.tab and sends back a data structure containing the links. You should use this script as a template to adapt to your own needs in order to read and format the data links from your own archive backend.
We provide a sample client script that harvests the links from the server script above. The synopsis for the client script is:#!/usr/bin/perl # # Sample PERL SOAP script to format bibliographic metadata according # to the ITWG draft of oct 2002: # # # bibcode => Standard bibcode string # sdesc => Short identifier as above # desc => Longer identifier as above # url => Link to data associated with bibcode. # type => Type of link (e.g. 'data', 'pdf', 'simbad') # use SOAP::Transport::HTTP; SOAP::Transport::HTTP::CGI -> dispatch_to('BibLinks') -> handle; package BibLinks; # simply return all links in the bibtable file sub harvest { my $self = shift; my @results = (); # bibtable_file is a tab-separated table containing: # bibcode, URL, description my $bibtable = "biblinks.tab"; # all links that we output are of type 'data'; # for a full list of ADS link types, see: # http://adsdoc.harvard.edu/abs_doc/help_pages/results.html#available_items my $linktype = 'data'; my $sdesc = '[ADS]'; # this is a short description for each link open(my $bf, $bibtable) or die "error opening file $bibtable: $!"; while (my $r = <$bf>) { chop($r); my ($bibcode,$url,$desc) = split(/\t/,$r); push(@results,{ bibcode => $bibcode, url => $url, desc => $desc, sdesc => $sdesc, type => $linktype, }); } return [ @results ]; }
biblinks-client.pl [options] [soap cgi proxy server]The available options are:
--debug turns on debugging, printing out all low-level SOAP client-server interaction to STDERR --xml output data in XML format using the XML::Simple PERL module (default) --table output data as a three-column table: bibcode, url, description --html output data in HTML itemized formatThe default CGI proxy server used by the client script is set to be http://ads.harvard.edu/ws/biblinks (which is just the CGI test script biblinks-server.pl described above). An alternative server can be specified on the command line instead. The ones currently (11/25/02) available are:
adsfore-6: ./biblinks-client.pl biblinks-client.pl: connecting to SOAP proxy http://ads.harvard.edu/ws/biblinks... [ADS] 2002AJ....123..279V VI Photometry and Variables in NGC 3201 (von Braun+, 2002) http://adc.gsfc.nasa.gov/adc-cgi/cat.pl?/journal_tables/AJ/123/279/ data [...] [ADS] 2002AJ....123..290S UBVI CCD photometry of NGC 2516 (Sung+, 2002) http://adc.gsfc.nasa.gov/adc-cgi/cat.pl?/journal_tables/AJ/123/290/ data