Backport #2361
Updated by jeremyevans0 (Jeremy Evans) over 5 years ago
=begin I upgraded to Snow Leopard yesterday and the 1.8.7 wsdlDriver suite doesn't like a wsdl file that 1.8.6 processed fine. I'm running this call: SOAP::WSDLDriverFactory.new("https://api.yieldmanager.com/api-1.30/contact.php?wsdl").create_rpc_driver But when it tries to parse the 2nd line (<wsdl:import namespace="http://api.yieldmanager.com/types" location="xsd_gen.php"/>) it throws the following error: NoMethodError: undefined method `targetnamespace=' for #<WSDL::XMLSchema::Schema:0x8174b8b0> method parse_attr in import.rb at line 44 method decode_tag in parser.rb at line 143 method each in parser.rb at line 139 method decode_tag in parser.rb at line 139 method start_element in parser.rb at line 84 method start_element in parser.rb at line 67 method tag_start in rexmlparser.rb at line 34 method parse in streamparser.rb at line 24 method parse_stream in document.rb at line 201 method do_parse in rexmlparser.rb at line 27 method parse in parser.rb at line 65 method parse in importer.rb at line 29 method import in importer.rb at line 31 method import in importer.rb at line 18 method import in wsdlDriver.rb at line 124 method initialize in wsdlDriver.rb at line 28 method new in yield_manager.rb at line 40 method client_for in yield_manager.rb at line 40 method start_session in yield_manager.rb at line 56 method session in yield_manager.rb at line 47 method find_by_description in vurl_lookup.rb at line 15 method test_find_by_description in vurl_lookup_test.rb at line 12 The URL of the xsd_gen file is https://api.yieldmanager.com/api-1.30/xsd_gen.php After much digging, I discovered that commenting-out this block from wsdl/import.rb (lines 43-45): if @content @content.targetnamespace = @namespace end ...allows the file to parse normally and my request to complete. However, the files don't appear to have changed between the 1.8.6 release I was using (ruby 1.8.6 (2008-08-11 patchlevel 287) [universal-darwin9.0]) and the 1.8.7 that comes with Snow Leopard (ruby 1.8.7 (2008-08-11 patchlevel 72) [universal-darwin10.0]), or if they have I can't find the change. Any clue as to what might have changed and how I can move this fix out of the library and into my client? If it's non-standard XML, I'd like to point it out to their tech support team. Thanks in advance, Bill =end