如何解决ruby-on-rails-3中使用Savon时TypeError:String转Hash的问题?

更新于
2026-10-09 21:56:50
1阅读来源:SEO资源
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计392个文字,预计阅读时间需要2分钟。

如何解决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?WS)

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

1.9.3-p362 :003 > client = Savon::Client.new("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应用程序,因此我不明白可能出现的问题.

尝试:

如何解决ruby-on-rails-3中使用Savon时TypeError:String转Hash的问题?

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

要么

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

本文共计392个文字,预计阅读时间需要2分钟。

如何解决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?WS)

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

1.9.3-p362 :003 > client = Savon::Client.new("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应用程序,因此我不明白可能出现的问题.

尝试:

如何解决ruby-on-rails-3中使用Savon时TypeError:String转Hash的问题?

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

要么

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