首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将Ruby脚本连接到SOAP url时出现的Wasabi错误

将Ruby脚本连接到SOAP url时出现的Wasabi错误
EN

Stack Overflow用户
提问于 2014-04-10 14:26:20
回答 1查看 3.7K关注 0票数 2

我试图用Ruby脚本连接到SOAP。

我正在关注铁路一集。我安装了savon (savon (2.4.0))。

然后,在我的ruby文件中,我有这样的代码:

代码语言:javascript
复制
 require 'savon'

 client = Savon.client(wsdl:"https://api.comscore.com/KeyMeasures.asmx?WSDL")
 response = client.call(:authenticate , message: { username:"xxxxx", password:"xxxxx"})

 puts "#{response.inspect}"

我知道url没有问题,因为我使用了SOAPUI并将WSDL放在那里,我得到了一个响应。

当我运行上面的ruby文件时,会得到以下异常:

代码语言:javascript
复制
  /Users/XXXX/.rvm/gems/ruby-2.0.0-p247/gems/wasabi-3.2.3/lib/wasabi/resolver.rb:44:in `load_from_remote': Error: 401 (Wasabi::Resolver::HTTPError)
from /Users/XXXXX/.rvm/gems/ruby-2.0.0-p247/gems/wasabi-3.2.3/lib/wasabi/resolver.rb:32:in `resolve'

在谷歌了一下后,我看到了帖子,它似乎建议我应该安装并要求创业板"httpclient“,然后再试一次。没有更改,仍然得到相同的错误。

有谁能帮我一下如何进行……

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-04-11 06:37:58

我尝试从命令行使用curl访问您提供的WSDL。我无法访问未经授权的WSDL /C。我想,首先您必须将凭据作为https请求的一部分提供。这就是为什么wasabi失败的原因。它找不到WSDL文档。

根据可以通过在客户端创建中注入以下代码来完成的文档:

代码语言:javascript
复制
client = Savon.client(wsdl: ...,
                      basic_auth: [ 'username', 'password' ],
                      log: true,
                      log_level: :debug,
                      pretty_print_xml: true)
client.call(...)
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22990936

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档