Savon在Rails应用程序中引发错误,但不在irb内部

时间:2011-05-11 17:13:16

标签: ruby-on-rails ruby soap savon httpi

我正在使用Savon库来获取一些SOAP请求。我在IRB和Rails应用程序中使用几乎相同的代码。当我运行IRB时,一切正常,但是Rails在savon的do_request -> respond_with方法中为nil:NilClass生成错误“no method'to_hash'。

这是我的代码(在IRB或Rails中运行时相同):

  # setup Savon client for SOAP requests
  client = Savon::Client.new "http://www.webservicex.net/country.asmx?WSDL"

  # test if "webservicex.net" server is up and running
  actions = client.wsdl.soap_actions

  raise "SOAP server is down" if actions.nil? or actions.length <= 0

  # get country list
  resp = client.request :get_countries

  raise "No response for countries" if resp.nil?

  resp = resp[:get_countries_response][:get_countries_result]

没有任何异常上升,也没有执行远远超过'pinging server'的代码。

出了什么问题,我该如何解决?

1 个答案:

答案 0 :(得分:2)

httpi宝石的问题 - https://github.com/rubiii/savon/issues/163 只需使用0.9.1版本。