[BioRuby] esoap.rb
Toshiaki Katayama
ktym at hgc.jp
Sat Dec 11 01:03:01 EST 2004
Hi David,
I have contacted the author of SOAP4R.
He will implement this function soon so that we can use eutils_a.wsdl
without any modification on server side, hopefully. :)
Regards,
Toshiaki Katayama
On 2004/12/11, at 1:17, david wheeler wrote:
> Moses, Toshiaki:
>
> Looks like the relative urls you saw in the wsdl were one problem...
> Our
> SOAP specialist has created a new wsdl for testing with absolute urls
> at:
>
> http://eutils.ncbi.nlm.nih.gov/entrez/eutils/soap/eutils_a.wsdl
>
> Using this one, gets me to the new error that you also see when you
> curl the
> XSD files:
>
> /usr/lib/ruby/1.8/wsdl/xmlSchema/element.rb:76:in `parse_attr':
> NotImplementedError (NotImplementedError)
> from /usr/lib/ruby/1.8/wsdl/xmlSchema/parser.rb:141:in
> `decode_tag'
> from /usr/lib/ruby/1.8/wsdl/xmlSchema/parser.rb:121:in `each'
> from /usr/lib/ruby/1.8/wsdl/xmlSchema/parser.rb:121:in
> `decode_tag'
> from /usr/lib/ruby/1.8/wsdl/xmlSchema/parser.rb:79:in
> `start_element'
> from /usr/lib/ruby/1.8/xsd/xmlparser/parser.rb:67:in
> `start_element'
> from /usr/lib/ruby/1.8/xsd/xmlparser/rexmlparser.rb:34:in
> `tag_start'
> from /usr/lib/ruby/1.8/rexml/parsers/streamparser.rb:17:in
> `parse'
> from /usr/lib/ruby/1.8/rexml/document.rb:166:in `parse_stream'
> ... 18 levels...
> from /usr/lib/ruby/1.8/soap/wsdlDriver.rb:70:in `import'
> from /usr/lib/ruby/1.8/soap/wsdlDriver.rb:34:in `initialize'
> from ./ncbi_soap.rb:8:in `new'
> from ./ncbi_soap.rb:8
>
> I'll pursue this on our end but if you have any ideas, let me know.
>
>
> David
>
>
> -----Original Message-----
> From: bioruby-bounces at portal.open-bio.org
> [mailto:bioruby-bounces at portal.open-bio.org] On Behalf Of Moses Hohman
> Sent: Friday, December 10, 2004 2:21 AM
> To: bioruby at portal.open-bio.org
> Cc: BioRuby Project Discussion List
> Subject: Re: [BioRuby] esoap.rb
>
> I get a different error:
>
> /usr/local/lib/ruby/site_ruby/1.8/http-access2.rb:1283:in `initialize':
> Can't assign requested address - connect(2) (Errno::EADDRNOTAVAIL)
> from /usr/local/lib/ruby/site_ruby/1.8/http-access2.rb:1283:in
> `new'
> from /usr/local/lib/ruby/site_ruby/1.8/http-access2.rb:1283:in
> `create_socket'
> from /usr/local/lib/ruby/site_ruby/1.8/http-access2.rb:1252:in
> `connect'
> from /usr/local/lib/ruby/site_ruby/1.8/http-access2.rb:1251:in
> `timeout'
> from /usr/local/lib/ruby/1.8/timeout.rb:55:in `timeout'
> from /usr/local/lib/ruby/site_ruby/1.8/http-access2.rb:1251:in
> `connect'
> from /usr/local/lib/ruby/site_ruby/1.8/http-access2.rb:1111:in
> `query'
> from /usr/local/lib/ruby/site_ruby/1.8/http-access2.rb:833:in
> `query'
> ... 26 levels...
> from /usr/local/lib/ruby/1.8/soap/wsdlDriver.rb:71:in `import'
> from /usr/local/lib/ruby/1.8/soap/wsdlDriver.rb:35:in
> `initialize'
> from test_eruby.rb:12:in `new'
>
> The full backtrace is after the rest of my message.
>
> This seems to have something to do with the fact that eutils.wsdl has
> <wsdl:import> tags with locations that don't specify a base URL or
> something
> (I'm not very familiar with WSDL). soap4r apparently can't handle
> this, or
> maybe there's an option one has to set that I don't know. If you curl
> the
> various imported XSD files, the error goes away and a new error occurs:
>
> /usr/local/lib/ruby/1.8/wsdl/xmlSchema/element.rb:76:in `parse_attr':
> NotImplementedError (NotImplementedError)
> from /usr/local/lib/ruby/1.8/wsdl/xmlSchema/parser.rb:142:in
> `decode_tag'
> from /usr/local/lib/ruby/1.8/wsdl/xmlSchema/parser.rb:122:in
> `each'
> from /usr/local/lib/ruby/1.8/wsdl/xmlSchema/parser.rb:122:in
> `decode_tag'
> from /usr/local/lib/ruby/1.8/wsdl/xmlSchema/parser.rb:79:in
> `start_element'
> from /usr/local/lib/ruby/1.8/xsd/xmlparser/parser.rb:67:in
> `start_element'
> from
> /usr/local/lib/ruby/1.8/xsd/xmlparser/xmlscanner.rb:139:in
> `on_stag_end'
> from
> /usr/local/lib/ruby/1.8/xsd/xmlparser/xmlscanner.rb:134:in
> `on_stag_end_empty'
> from
> /usr/local/lib/ruby/site_ruby/1.8/xmlscan/scanner.rb:470:in
> `on_stag_end_empty'
> ... 28 levels...
> from /usr/local/lib/ruby/1.8/soap/wsdlDriver.rb:71:in `import'
> from /usr/local/lib/ruby/1.8/soap/wsdlDriver.rb:35:in
> `initialize'
> from test_eruby.rb:12:in `new'
> from test_eruby.rb:12
>
>
> I'm running 1.8.2 preview 3 on OS X 10.3.6. I've also installed a ton
> of
> ruby stuff, so it's possible my setup's errors will be unique : )
>
> Moses
>
> /usr/local/lib/ruby/site_ruby/1.8/http-access2.rb:1283:in `initialize'
> /usr/local/lib/ruby/site_ruby/1.8/http-access2.rb:1283:in `new'
> /usr/local/lib/ruby/site_ruby/1.8/http-access2.rb:1283:in
> `create_socket'
> /usr/local/lib/ruby/site_ruby/1.8/http-access2.rb:1252:in `connect'
> /usr/local/lib/ruby/site_ruby/1.8/http-access2.rb:1251:in `timeout'
> /usr/local/lib/ruby/1.8/timeout.rb:55:in `timeout'
> /usr/local/lib/ruby/site_ruby/1.8/http-access2.rb:1251:in `connect'
> /usr/local/lib/ruby/site_ruby/1.8/http-access2.rb:1111:in `query'
> /usr/local/lib/ruby/site_ruby/1.8/http-access2.rb:833:in `query'
> /usr/local/lib/ruby/site_ruby/1.8/http-access2.rb:383:in `do_get_block'
> /usr/local/lib/ruby/site_ruby/1.8/http-access2.rb:327:in `conn_request'
> /usr/local/lib/ruby/site_ruby/1.8/http-access2.rb:259:in `request'
> /usr/local/lib/ruby/site_ruby/1.8/http-access2.rb:234:in `get'
> /usr/local/lib/ruby/site_ruby/1.8/http-access2.rb:209:in `get_content'
> /usr/local/lib/ruby/1.8/wsdl/importer.rb:39:in `import'
> /usr/local/lib/ruby/1.8/wsdl/importer.rb:20:in `import'
> /usr/local/lib/ruby/1.8/wsdl/import.rb:65:in `import'
> /usr/local/lib/ruby/1.8/wsdl/import.rb:49:in `parse_attr'
> /usr/local/lib/ruby/1.8/wsdl/parser.rb:143:in `decode_tag'
> /usr/local/lib/ruby/1.8/wsdl/parser.rb:126:in `each'
> /usr/local/lib/ruby/1.8/wsdl/parser.rb:126:in `decode_tag'
> /usr/local/lib/ruby/1.8/wsdl/parser.rb:81:in `start_element'
> /usr/local/lib/ruby/1.8/xsd/xmlparser/parser.rb:67:in `start_element'
> /usr/local/lib/ruby/1.8/xsd/xmlparser/xmlscanner.rb:139:in
> `on_stag_end'
> /usr/local/lib/ruby/1.8/xsd/xmlparser/xmlscanner.rb:134:in
> `on_stag_end_empty'
> /usr/local/lib/ruby/site_ruby/1.8/xmlscan/scanner.rb:470:in
> `on_stag_end_empty'
> /usr/local/lib/ruby/site_ruby/1.8/xmlscan/scanner.rb:794:in `scan_stag'
> /usr/local/lib/ruby/site_ruby/1.8/xmlscan/scanner.rb:826:in
> `scan_content'
> /usr/local/lib/ruby/site_ruby/1.8/xmlscan/scanner.rb:1051:in
> `scan_prolog'
> /usr/local/lib/ruby/site_ruby/1.8/xmlscan/scanner.rb:1058:in
> `scan_document'
> /usr/local/lib/ruby/site_ruby/1.8/xmlscan/scanner.rb:1073:in `parse'
> /usr/local/lib/ruby/1.8/xsd/xmlparser/xmlscanner.rb:25:in `do_parse'
> /usr/local/lib/ruby/1.8/wsdl/parser.rb:62:in `parse'
> /usr/local/lib/ruby/1.8/wsdl/importer.rb:43:in `import'
> /usr/local/lib/ruby/1.8/wsdl/importer.rb:20:in `import'
> /usr/local/lib/ruby/1.8/soap/wsdlDriver.rb:71:in `import'
> /usr/local/lib/ruby/1.8/soap/wsdlDriver.rb:35:in `initialize'
> test_eruby.rb:12:in `new'
>
>
> On Dec 9, 2004, at 10:53 PM, Toshiaki Katayama wrote:
>
>> Hi,
>>
>> I have not completed esoap.rb yet. :)
>>
>> It seems that wsdl:import fails when loading eutils.wsdl in Ruby 1.8.1
>> (comes with SOAP4R). Any ideas?
>>
>> Regards,
>> Toshiaki Katayama
>>
>> esoap_test.rb:
>> -------------------------
>> #!/usr/bin/env ruby
>>
>> require 'soap/wsdlDriver'
>>
>> wsdl = "http://eutils.ncbi.nlm.nih.gov/entrez/eutils/soap/eutils.wsdl"
>>
>> driver = SOAP::WSDLDriverFactory.new(wsdl).create_driver
>> -------------------------
>>
>> % ruby esoap.rb
>> /usr/local/lib/ruby/1.8/soap/netHttpClient.rb:121:in
>> `create_connection': Cannot connect to egquery.xsd (Not HTTP.)
>> (RuntimeError)
>> from /usr/local/lib/ruby/1.8/soap/netHttpClient.rb:91:in
>> `start'
>> from /usr/local/lib/ruby/1.8/soap/netHttpClient.rb:82:in
>> `get_content'
>> from /usr/local/lib/ruby/1.8/wsdl/importer.rb:39:in `import'
>> from /usr/local/lib/ruby/1.8/wsdl/importer.rb:20:in `import'
>> from /usr/local/lib/ruby/1.8/wsdl/import.rb:65:in `import'
>> from /usr/local/lib/ruby/1.8/wsdl/import.rb:49:in `parse_attr'
>> from /usr/local/lib/ruby/1.8/wsdl/parser.rb:141:in
>> `decode_tag'
>> from /usr/local/lib/ruby/1.8/wsdl/parser.rb:124:in `each'
>> ... 9 levels...
>> from /usr/local/lib/ruby/1.8/soap/wsdlDriver.rb:69:in `import'
>> from /usr/local/lib/ruby/1.8/soap/wsdlDriver.rb:33:in
>> `initialize'
>> from esoap_test.rb:5:in `new'
>> from esoap_test.rb:5
>>
>>
>>
>> On 2004/12/10, at 7:51, Moses Hohman wrote:
>>
>>> It would be great if you could help out. esoap.rb is not in CVS, so
>>> Toshiaki will have to email it : )
>>>
>>> Moses
>>>
>>> On Dec 9, 2004, at 4:35 PM, david wheeler wrote:
>>>
>>>> Hi:
>>>>
>>>> Is it still true that esoap.rb is not working? Is the current
>>>> version available? If so, I'd be happy to help if I could get a
>>>> copy.
>>>>
>>>> David Wheeler, NCBI
>>>>
>>>>
>>>> _______________________________________________
>>>> BioRuby mailing list
>>>> BioRuby at open-bio.org
>>>> http://portal.open-bio.org/mailman/listinfo/bioruby
>>>>
>>>
>>> _______________________________________________
>>> BioRuby mailing list
>>> BioRuby at open-bio.org
>>> http://portal.open-bio.org/mailman/listinfo/bioruby
>>
>> _______________________________________________
>> BioRuby mailing list
>> BioRuby at open-bio.org
>> http://portal.open-bio.org/mailman/listinfo/bioruby
>>
>
> _______________________________________________
> BioRuby mailing list
> BioRuby at open-bio.org
> http://portal.open-bio.org/mailman/listinfo/bioruby
>
>
> _______________________________________________
> BioRuby mailing list
> BioRuby at open-bio.org
> http://portal.open-bio.org/mailman/listinfo/bioruby
More information about the BioRuby
mailing list