Velocity Reviews

Velocity Reviews (http://www.velocityreviews.com/forums/index.php)
-   Ruby (http://www.velocityreviews.com/forums/f66-ruby.html)
-   -   "undefined method in 'targetnamespace='" in wsdl/import afterupgrading to Snow Leopard/1.8.7 (http://www.velocityreviews.com/forums/t860391-undefined-method-in-targetnamespace-in-wsdl-import-afterupgrading-to-snow-leopard-1-8-7-a.html)

Bill 11-11-2009 09:27 PM

"undefined method in 'targetnamespace='" in wsdl/import afterupgrading to Snow Leopard/1.8.7
 
I upgraded to Snow Leopard this morning 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 and the 1.8.7 that comes with Snow Leopard, 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


All times are GMT. The time now is 01:11 PM.

Powered by vBulletin®. Copyright ©2000 - 2014, vBulletin Solutions, Inc.
SEO by vBSEO ©2010, Crawlability, Inc.