我正在使用Savon通过WSDL连接到Web服务我收到下面显示的错误,表示所有使用此库连接的尝试。令人沮丧的是,我已经使用了几周来测试的代码,直到今天它还没有问题。我完全被这个困惑了。我写了一个新的脚本,只使用Savon连接到服务,我得到了同样的错误。
我收到此错误:
* test_ConnectToWSDL.rb:4:in new': wrong number of arguments (1 for 0) (ArgumentE
rror)
from test_ConnectToWSDL.rb:4:in
'*
我已经检查并仔细检查此代码,根据Savon文档,这应该是完全有效的。
我的代码
require 'savon'
client = Savon::Client.new "http://myservices.com/service.svc?WSDL"
client.lookup_by_sku do |soap|
soap.body = {
:includeStuff => includeStuff,
:includeStuff2 => includeStuff2,
:searchStuff => [
{:"V1" => V1,
"V2" => V2,
"V3" => V3,
"V4" => V4,
"V5" => V5,
}
]
}.to_xml
end
答案 0 :(得分:1)
所以这就是发生的事情。我安装了Savon :: Spec并且它将我的Savon gem更新为0.8 beta3版本,由于某种原因它不喜欢为'new'传递的参数。如果我发现了一个修复此问题或为什么此代码不喜欢beta gem我将再次发布以节省其他人4小时的公司资金。 :)