NAME

Bio::DB::Biblio::soap - A SOAP-based access to a bibliographic query service

SYNOPSIS

Do not use this object directly, it is recommended to access it and use it through the Bio::Biblio module:

use Bio::Biblio;
my $biblio = new Bio::Biblio (-access => 'soap');

DESCRIPTION

This object contains the real implementation of a Bibliographic Query Service as defined in Bio::DB::BiblioI - using a SOAP protocol to access a WebService (a remote server) that represents a bibliographic repository.

FEEDBACK

Mailing Lists

User feedback is an integral part of the evolution of this and other Bioperl modules. Send your comments and suggestions preferably to the Bioperl mailing list. Your participation is much appreciated.

bioperl-l@bioperl.org              - General discussion
http://bioperl.org/MailList.shtml  - About the mailing lists

Reporting Bugs

Report bugs to the Bioperl bug tracking system to help us keep track of the bugs and their resolution. Bug reports can be submitted via email or the web:

bioperl-bugs@bioperl.org
http://bioperl.org/bioperl-bugs/

AUTHOR

Martin Senger (senger@ebi.ac.uk)

COPYRIGHT

Copyright (c) 2002 European Bioinformatics Institute. All Rights Reserved.

This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

DISCLAIMER

This software is provided "as is" without warranty of any kind.

BUGS AND LIMITATIONS

  • Methods returning a boolean value (has_next, exists and contains) can be used only with SOAP::Lite version 0.52 and newer (probably due to a bug in the older SOAP::Lite).

  • It does not use WSDL. Coming soon...

  • There is an open question to discuss: should the service return citations as type string or rather as type base64? What is faster? What is better for keeping non-ASCII characters untouched? How the decision would be influenced if the transparent compression support is introduced?

  • More testing and debugging needed to ensure that returned citations are properly transferred even if they contain foreign characters.

APPENDIX

The main documentation details are to be found in Bio::DB::BiblioI.

Here is the rest of the object methods. Internal methods are preceded with an underscore _.

_initialize

 Usage   : my $obj = new Bio::Biblio (-access => 'soap' ...);
           (_initialize is internally called from this constructor)
 Returns : nothing interesting
 Args    : This module recognises and uses following arguments:

             -namespace => 'urn'
               The namespace used by the WebService that is being
               accessed. It is a string which guarantees its world-wide
               uniqueness - therefore it often has a style of a URL -
               but it does not mean that such pseudo-URL really exists.

               Default is 'http://industry.ebi.ac.uk/openBQS'
               (which well corresponds with the default '-location' -
               see module Bio::Biblio).

             -destroy_on_exit => '0'
                Default value is '1' which means that all Bio::Biblio
                objects - when being finalised - will send a request
                to the remote WebService to forget the query collections
                they represent.

                If you change it to '0' make sure that you know the
                query collection identification - otherwise you will
                not be able to re-established connection with it.
                This can be done by calling method get_collection_id.

              -collection_id => '...'
                It defines what query collection will this object work
                with. Use this argument when you know a collection ID
                of an existing query collection and when you wish to
                re-established connection with it.

                By default, the collection IDs are set automatically
                by the query methods - they return Bio::Biblio objects
                already having a collection ID.

                A missing or undefined collection ID means that the
                object represents the whole bibliographic repository
                (which again means that some methods, like get_all,
                will be probably refused).

              -soap => a SOAP::Lite object
                Usually all Bio::Biblio objects share an instance of
                the underlying SOAP::Lite module. But you are free
                to have more - perhaps with different characteristics.

                See the code for attributes of the default SOAP::Lite
                object.

              -httpproxy => 'http://server:port'
                 In addition to the 'location' parameter, you may need
                 to specify also a location/URL of a HTTP proxy server
                 (if your site requires one).

	   Additionally, the main module Bio::Biblio recognises
	   also:
             -access => '...'
             -location => '...'

It populates calling object with the given arguments, and then - for some attributes and only if they are not yet populated - it assigns some default values.

This is an actual new() method (except for the real object creation and its blessing which is done in the parent class Bio::Root::Root in method _create_object).

Note that this method is called always as an object method (never as a class method) - and that the object who calls this method may already be partly initiated (from Bio::Biblio::new method); so if you need to do some tricks with the 'class invocation' you need to change Bio::Biblio::new method, not this one.

VERSION and Revision

Usage   : print $Bio::DB::Biblio::soap::VERSION;
          print $Bio::DB::Biblio::soap::Revision;

Defaults

Usage   : print $Bio::DB::Biblio::soap::DEFAULT_SERVICE;
          print $Bio::DB::Biblio::soap::DEFAULT_NAMESPACE;