0

SOAPリクエストを機能させるためにSavonライブラリを使用しています。そして、IRB と Rails アプリケーション内でほぼ同じコードを使用しています。do_request -> respond_withIRB を実行していると、すべて正常に動作しますが、Rails は savon のメソッド内で "no method 'to_hash' for nil:NilClass" というエラーを生成します。

これが私のコードです(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]

その例外は発生せず、「ping サーバー」以外のコードも実行されません。

何が問題で、どうすれば修正できますか?

4

1 に答える 1

2

httpigemの問題です - https://github.com/rubiii/savon/issues/1630.9.1バージョン を使用するだけです。

于 2011-05-11T18:40:00.760 に答える