Savon打破了"TypeError:无法将String转换为Hash"的开箱即用

Jas*_*ett 3 savon ruby-on-rails-3

我刚刚在Rails 3.2.11上安装了Savon 2.0.2.当我尝试在控制台中创建新客户端时,我得到TypeError: can't convert String into Hash:

1.9.3-p362 :003 > client = Savon::Client.new("http://www.webservicex.net/uszip.asmx?WSDL")
TypeError: can't convert String into Hash
    from /Users/jasonswett/.rvm/gems/ruby-1.9.3-p362/gems/savon-2.0.2/lib/savon/options.rb:49:in `merge'
    from /Users/jasonswett/.rvm/gems/ruby-1.9.3-p362/gems/savon-2.0.2/lib/savon/options.rb:49:in `initialize'
    from /Users/jasonswett/.rvm/gems/ruby-1.9.3-p362/gems/savon-2.0.2/lib/savon/client.rb:10:in `new'
    from /Users/jasonswett/.rvm/gems/ruby-1.9.3-p362/gems/savon-2.0.2/lib/savon/client.rb:10:in `initialize'
    from (irb):3:in `new'
    from (irb):3
    from /Users/jasonswett/.rvm/gems/ruby-1.9.3-p362/gems/railties-3.2.11/lib/rails/commands/console.rb:47:in `start'
    from /Users/jasonswett/.rvm/gems/ruby-1.9.3-p362/gems/railties-3.2.11/lib/rails/commands/console.rb:8:in `start'
    from /Users/jasonswett/.rvm/gems/ruby-1.9.3-p362/gems/railties-3.2.11/lib/rails/commands.rb:41:in `<top (required)>'
    from script/rails:6:in `require'
    from script/rails:6:in `<main>'
Run Code Online (Sandbox Code Playgroud)

知道为什么会发生这种情况吗?它是一个全新的,几乎是普通的Rails应用程序,因此我不明白可能出现的问题.

Jiř*_*šil 7

尝试:

client = Savon::Client.new(wsdl: "http://www.webservicex.net/uszip.asmx?WSDL")
Run Code Online (Sandbox Code Playgroud)

要么

client = Savon.client(wsdl: "http://www.webservicex.net/uszip.asmx?WSDL")
Run Code Online (Sandbox Code Playgroud)