我正在使用savon 2.2進行SOAP調用。無法在savon調用上設置SOAP標頭參數
初始化:
client = Savon.client(
wsdl: SOAP_WSDL,
endpoint: SOAP_URL)
我可以做一個SOAP調用像這樣和正常工作:
resp = client.call(:login, message: { username: SOAP_USER, password: SOAP_PASSWORD })
現在我需要另一個調用該方法要求在SOAP頭設置一些參數。從savorb.com的文檔,我發現我應該用請求的方法:
response = client.request :get_user_info do
soap.header = { :session_id => sid }
end
但我發現了一個錯誤,指出請求的方法不存在:
undefined method `request' for #<Savon::Client:0x007f1560f80490>
難道我有一個不同版本的savon還是什麼?我嘗試使用「呼叫」,而不是「請求」,但後來我得到:
ArgumentError - wrong number of arguments (1 for 2):
gem) savon-2.2.0/lib/savon/options.rb:35:in `method_missing'
(gem) savon-2.2.0/lib/savon/block_interface.rb:20:in `method_missing'
app/models/tool.rb:23:in `block in doUpload'