Я использую библиотеку Savon, чтобы заставить работать некоторые запросы SOAP.И я использую почти тот же код в приложениях IRB и Rails.Когда я запускаю IRB, все работает как надо, но Rails генерирует ошибку "no method 'to_hash' for nil: NilClass" в do_request -> respond_with
методах savon.
Вот мой код (то же самое, когда он выполняется внутри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".
Что не так и как я могу это исправить?