开发者

Savon raises error inside Rails app, but not inside irb

开发者 https://www.devze.com 2023-03-05 00:01 出处:网络
I\'m using Savon library to get some SOAP requests work. And i\'m using almost the same code within IRB and Rails application. When i\'m running IRB everything works as it should, but Rails generate e

I'm using Savon library to get some SOAP requests work. And i'm using almost the same code within IRB and Rails application. When i'm running IRB everything works as it should, but Rails generate error "no method 'to_hash' for nil:NilClass"开发者_JS百科 inside savon's do_request -> respond_with methods.

Here's my code (the same when running it within IRB or 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]

None of that exceptions is risen nor code far than 'pinging server' is executed.

What's wrong and how could i fix that?


It's problem with httpi gem - https://github.com/rubiii/savon/issues/163 Just use 0.9.1 version.

0

精彩评论

暂无评论...
验证码 换一张
取 消