.\" Automatically generated by Pod::Man 4.14 (Pod::Simple 3.43) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. . \" fudge factors for nroff and troff .if n \{\ . ds #H 0 . ds #V .8m . ds #F .3m . ds #[ \f1 . ds #] \fP .\} .if t \{\ . ds #H ((1u-(\\\\n(.fu%2u))*.13m) . ds #V .6m . ds #F 0 . ds #[ \& . ds #] \& .\} . \" simple accents for nroff and troff .if n \{\ . ds ' \& . ds ` \& . ds ^ \& . ds , \& . ds ~ ~ . ds / .\} .if t \{\ . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' .\} . \" troff and (daisy-wheel) nroff accents .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' .ds 8 \h'\*(#H'\(*b\h'-\*(#H' .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] .ds ae a\h'-(\w'a'u*4/10)'e .ds Ae A\h'-(\w'A'u*4/10)'E . \" corrections for vroff .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' . \" for low resolution devices (crt and lpr) .if \n(.H>23 .if \n(.V>19 \ \{\ . ds : e . ds 8 ss . ds o a . ds d- d\h'-1'\(ga . ds D- D\h'-1'\(hy . ds th \o'bp' . ds Th \o'LP' . ds ae ae . ds Ae AE .\} .rm #[ #] #H #V #F C .\" ======================================================================== .\" .IX Title "Bio::DB::ESoap::WSDL 3pm" .TH Bio::DB::ESoap::WSDL 3pm "2023-01-22" "perl v5.36.0" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" Bio::DB::ESoap::WSDL \- WSDL parsing for Entrez SOAP EUtilities .SH "SYNOPSIS" .IX Header "SYNOPSIS" Used by Bio::DB::ESoap .PP .Vb 8 \& # 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 }; .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" This module is a lightweight parser and container for \s-1WSDL XML\s0 files associated with the \s-1NCBI\s0 EUtilities \s-1SOAP\s0 server. \s-1XML\s0 facilities are provided by XML::Twig. .PP The following accessors provide names and structures useful for creating \s-1SOAP\s0 messages using SOAP::Lite (e.g.): .PP .Vb 6 \& 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 .Ve .PP The following accessors provide XML::Twig::Elt objects pointing at key locations in the \s-1WSDL:\s0 .PP .Vb 7 \& root : the root of the WSDL docment \& _types_elt : the element \& _portType_elt : the element \& _binding_elt : the element \& _service_elt : the element \& _message_elts : an array of all top\-level elements \& _operation_elts : an array of all elements contained in .Ve .PP Parsing occurs lazily (on first read, not on construction); all information is cached. To clear the cache and force re-parsing, run .PP .Vb 1 \& $wsdl\->clear_cache; .Ve .PP The globals \f(CW$NCBI_BASEURL\fR, \f(CW$NCBI_ADAPTOR\fR, and \f(CW%WSDL\fR are exported. .PP .Vb 1 \& $NCBI_ADAPTOR : the soap service cgi .Ve .PP To construct a \s-1URL\s0 for a \s-1WSDL:\s0 .PP .Vb 3 \& $wsdl_eutils = $NCBI_BASEURL.$WSDL{\*(Aqeutils\*(Aq} \& $wsdl_efetch_omim = $NCBI_BASEURL.$WSDL{\*(Aqf_omim\*(Aq} \& # etc. .Ve .SH "FEEDBACK" .IX Header "FEEDBACK" .SS "Mailing Lists" .IX Subsection "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. .PP .Vb 2 \& bioperl\-l@bioperl.org \- General discussion \&http://bioperl.org/wiki/Mailing_lists \- About the mailing lists .Ve .SS "Support" .IX Subsection "Support" Please direct usage questions or support issues to the mailing list: .PP bioperl\-l@bioperl.org .PP 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. .SS "Reporting Bugs" .IX Subsection "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: .PP .Vb 1 \& http://redmine.open\-bio.org/projects/bioperl/ .Ve .SH "AUTHOR \- Mark A. Jensen" .IX Header "AUTHOR - Mark A. Jensen" Email maj \-at\- fortinbras \-dot\- us .SH "APPENDIX" .IX Header "APPENDIX" The rest of the documentation details each of the object methods. Internal methods are usually preceded with a _ .SS "new" .IX Subsection "new" .Vb 8 \& 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 ) .Ve .SH "Getters" .IX Header "Getters" .SS "\fBrequest_parameters()\fP" .IX Subsection "request_parameters()" .Vb 6 \& 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) .Ve .SS "\fBresult_parameters()\fP" .IX Subsection "result_parameters()" .Vb 7 \& 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) .Ve .SS "\fBoperations()\fP" .IX Subsection "operations()" .Vb 6 \& 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 .Ve .SS "\fBservice()\fP" .IX Subsection "service()" .Vb 5 \& Title : service \& Usage : $wsdl\->service \& Function: gets the SOAP service url associated with this WSDL \& Returns : scalar string \& Args : none .Ve .SS "\fBdb()\fP" .IX Subsection "db()" .Vb 6 \& Title : db \& Usage : \& Function: If this is an efetch WSDL, returns the db name \& associated with it \& Returns : scalar string or undef \& Args : none .Ve .SH "Internals" .IX Header "Internals" .SS "\fB_operation_bookmarks()\fP" .IX Subsection "_operation_bookmarks()" .Vb 11 \& 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 .Ve .SS "\fB_parse()\fP" .IX Subsection "_parse()" .Vb 6 \& Title : _parse \& Usage : $wsdl\->_parse \& Function: parse the wsdl at url and create accessors for \& section twig elts \& Returns : self \& Args : .Ve .SS "\fBroot()\fP" .IX Subsection "root()" .Vb 6 \& 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) .Ve .SS "\fBurl()\fP" .IX Subsection "url()" .Vb 6 \& 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) .Ve .SS "\fBwsdl()\fP" .IX Subsection "wsdl()" .Vb 6 \& 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) .Ve .SS "\fB_twig()\fP" .IX Subsection "_twig()" .Vb 6 \& 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) .Ve .SS "\fB_sections()\fP" .IX Subsection "_sections()" .Vb 7 \& 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) .Ve .SS "\fB_cache()\fP" .IX Subsection "_cache()" .Vb 6 \& 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) .Ve .SS "\fB_parsed()\fP" .IX Subsection "_parsed()" .Vb 6 \& 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) .Ve