代码之家  ›  专栏  ›  技术社区  ›  r3nrut

Ruby-Savon-Connecting to web service-“new”:参数数目错误

  •  0
  • r3nrut  · 技术社区  · 14 年前

    我使用Savon通过WSDL连接到一个web服务,对于使用这个库连接的所有尝试,我得到如下所示的错误。令人沮丧的是,我已经使用代码测试了几个星期,直到今天才出现问题。我完全被这件事搞糊涂了。我只使用Savon连接到服务,就编写了一个新脚本,得到了同样的错误。

    我得到这个错误: *测试连接至SDL.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
    
    1 回复  |  直到 14 年前
        1
  •  1
  •   r3nrut    14 年前

    所以发生了这样的事。我安装了Savon::Spec,它将我的Savon gem更新为0.8beta3版本,出于某种原因,它不喜欢为“new”传递参数。如果我发现了这个问题的解决方案,或者为什么这个代码不喜欢beta版gem,我会再次发布,以节省其他人4小时的公司开支。:)