Provided by: libbio-perl-run-perl_1.7.1-3_all bug

NAME

       Bio::DB::ESoap::WSDL - WSDL parsing for Entrez SOAP EUtilities

SYNOPSIS

       Used by Bio::DB::ESoap

        # url
        $wsdl = Bio::DB::ESoap::WSDL->new(
           -url => "http://www.ncbi.nlm.nih.gov/entrez/eutils/soap/v2.0/eutils.wsdl"
         );
        # local copy
        $wsdl = Bio::DB::ESoap::WSDL->new(
           -wsdl => "local/eutils.wsdl"
         );

         %opns = %{ $wsdl->operations };

DESCRIPTION

       This module is a lightweight parser and container for WSDL XML files associated with the
       NCBI EUtilities SOAP server. XML facilities are provided by XML::Twig.

       The following accessors provide names and structures useful for creating SOAP messages
       using SOAP::Lite (e.g.):

        service()    : the URL of the SOAP service
        operations() : hashref of the form {.., $operation_name => $soapAction, ...}
        request_parameters($operation) :
           request field names and namelists as an array of hashes
        result_parameters($operation)  :
           result field names and namelists as an array of hashes

       The following accessors provide XML::Twig::Elt objects pointing at key locations in the
       WSDL:

        root            : the root of the WSDL docment
        _types_elt      : the <types> element
        _portType_elt   : the <portType> element
        _binding_elt    : the <binding> element
        _service_elt    : the <service> element
        _message_elts   : an array of all top-level <message> elements
        _operation_elts : an array of all <operation> elements contained in <binding>

       Parsing occurs lazily (on first read, not on construction); all information is cached. To
       clear the cache and force re-parsing, run

        $wsdl->clear_cache;

       The globals $NCBI_BASEURL, $NCBI_ADAPTOR, and %WSDL are exported.

        $NCBI_ADAPTOR : the soap service cgi

       To construct a URL for a WSDL:

        $wsdl_eutils = $NCBI_BASEURL.$WSDL{'eutils'}
        $wsdl_efetch_omim = $NCBI_BASEURL.$WSDL{'f_omim'}
        # etc.

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/wiki/Mailing_lists  - About the mailing lists

   Support
       Please direct usage questions or support issues to the mailing list:

       bioperl-l@bioperl.org

       rather than to the module maintainer directly. Many experienced and reponsive experts will
       be able look at the problem and quickly address it. Please include a thorough description
       of the problem with code and data examples if at all possible.

   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 the web:

         http://redmine.open-bio.org/projects/bioperl/

AUTHOR - Mark A. Jensen

       Email maj -at- fortinbras -dot- us

APPENDIX

       The rest of the documentation details each of the object methods.  Internal methods are
       usually preceded with a _

   new
        Title   : new
        Usage   : my $obj = new Bio::DB::ESoap::WSDL();
        Function: Builds a new Bio::DB::ESoap::WSDL object
        Returns : an instance of Bio::DB::ESoap::WSDL
        Args    : named args:
                  -URL => $url_of_desired_wsdl -OR-
                  -WSDL => $filename_of_local_wsdl_copy
                  ( -WSDL will take precedence if both specified )

Getters

   request_parameters()
        Title   : request_parameters
        Usage   : @params = $wsdl->request_parameters($operation_name)
        Function: get array of request (input) fields required by
                  specified operation, according to the WSDL
        Returns : hash of arrays of hashes...
        Args    : scalar string (operation or action name)

   result_parameters()
        Title   : result_parameters
        Usage   : $result_hash = $wsdl->result_parameters
        Function: retrieve a hash structure describing the
                  result of running the specified operation
                  according to the WSDL
        Returns : hash of arrays of hashes...
        Args    : operation (scalar string)

   operations()
        Title   : operations
        Usage   : @opns = $wsdl->operations;
        Function: get a hashref with elts ( $operation_name => $soapAction )
                  for all operations defined by this WSDL
        Returns : array of scalar strings
        Args    : none

   service()
        Title   : service
        Usage   : $wsdl->service
        Function: gets the SOAP service url associated with this WSDL
        Returns : scalar string
        Args    : none

   db()
        Title   : db
        Usage   :
        Function: If this is an efetch WSDL, returns the db name
                  associated with it
        Returns : scalar string or undef
        Args    : none

Internals

   _operation_bookmarks()
        Title   : _operation_bookmarks
        Usage   :
        Function: find useful WSDL elements associated with the specified
                  operation; return a hashref of the form
                  { $key => $XML_Twig_Elt_obj, }
        Returns : hashref with keys:
                   portType namespace schema
                   i_msg_type i_msg_elt
                   o_msg_type o_msg_elt
        Args    : operation name (scalar string)
        Note    : will import schema if necessary

   _parse()
        Title   : _parse
        Usage   : $wsdl->_parse
        Function: parse the wsdl at url and create accessors for
                  section twig elts
        Returns : self
        Args    :

   root()
        Title   : root
        Usage   : $obj->root($newval)
        Function: holds the root Twig elt of the parsed WSDL
        Example :
        Returns : value of root (an XML::Twig::Elt)
        Args    : on set, new value (an XML::Twig::Elt or undef, optional)

   url()
        Title   : url
        Usage   : $obj->url($newval)
        Function: get/set the WSDL url
        Example :
        Returns : value of url (a scalar string)
        Args    : on set, new value (a scalar or undef, optional)

   wsdl()
        Title   : wsdl
        Usage   : $obj->wsdl($newval)
        Function: get/set wsdl XML filename
        Example :
        Returns : value of wsdl (a scalar string)
        Args    : on set, new value (a scalar string or undef, optional)

   _twig()
        Title   : _twig
        Usage   : $obj->_twig($newval)
        Function: XML::Twig object for handling the wsdl
        Example :
        Returns : value of _twig (a scalar)
        Args    : on set, new value (a scalar or undef, optional)

   _sections()
        Title   : _sections
        Usage   : $obj->_sections($newval)
        Function: holds hashref of twigs corresponding to main wsdl
                  elements; filled by _parse()
        Example :
        Returns : value of _sections (a scalar)
        Args    : on set, new value (a scalar or undef, optional)

   _cache()
        Title   : _cache
        Usage   : $wsdl->_cache($newval)
        Function: holds the wsdl info cache
        Example :
        Returns : value of _cache (a scalar)
        Args    : on set, new value (a scalar or undef, optional)

   _parsed()
        Title   : _parsed
        Usage   : $obj->_parsed($newval)
        Function: flag to indicate wsdl already parsed
        Example :
        Returns : value of _parsed (a scalar)
        Args    : on set, new value (a scalar or undef, optional)