ruby-on-rails-3 – Savon打破了“TypeError:无法将String转换为Hash”的问题

我刚刚在Rails 3.2.11上安装了Savon 2.0.2.当我尝试在控制台中创建一个新客户端时,我得到TypeError:无法将String转换为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>'

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

解决方法

尝试:

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

要么

client = Savon.client(wsdl: "http://www.webservicex.net/uszip.asmx?WSDL")

相关文章

validates:conclusion,:presence=>true,:inclusion=>{...
一、redis集群搭建redis3.0以前,提供了Sentinel工具来监控各...
分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣...
上一篇博文 ruby传参之引用类型 里边定义了一个方法名 mo...
一编程与编程语言 什么是编程语言? 能够被计算机所识别的表...
Ruby类和对象Ruby是一种完美的面向对象编程语言。面向对象编...