0

私は savon を使用して API を使用しています。以下は私のコードの行です。

 wSDL = "some_wsdl"
 client = Savon::Client.new(wSDL)     
 response = client.soap_action do |soap|
 soap.body = "<sample>string_value</sample>" , "<sample1>string_value</sample1>"
 end

エラー (タイトル) が表示されます。以下はアプリケーションのトレースです。ところで、私の wsdl はhttps://some_wsdl形式です。

/var/lib/gems/1.8/gems/savon-0.7.9/lib/savon/response.rb:141:in `handle_soap_fault'
/var/lib/gems/1.8/gems/savon-0.7.9/lib/savon/response.rb:81:in `initialize'
/var/lib/gems/1.8/gems/savon-0.7.9/lib/savon/client.rb:95:「新規」
/var/lib/gems/1.8/gems/savon-0.7.9/lib/savon/client.rb:95:in `method_missing'
app/controllers/deposit_controller.rb:33:in `deposit'
4

1 に答える 1

0

エラーが発生する理由はわかりませんが、石鹸本体を文字列として構築することで生活が困難になっています。Savon はハッシュから SOAP リクエストを作成するため、次のようにすると、必要なことをより簡単に行うことができます。

wSDL = "some_wsdl"
client = Savon::Client.new(wSDL)     

# Add more details here including nested hashes    
request_hash = {
  "sample" => string_value,
  "sample1" => string_value
}

response = client.soap_action do |soap|
  soap.body = request_hash
end
于 2010-06-24T13:29:53.773 に答える