【问题标题】:Using SOAP Savon gem and Rails使用 SOAP Savon gem 和 Rails
【发布时间】:2012-10-01 09:54:37
【问题描述】:

我正在尝试使用名为 Savon 的 SOAP gem 建立连接。我无法从网站上的文档中理解,我有这个 URL:“https://www.example.com/loginWeb/rvu.aspx”,这个凭据用户名:“user”,密码:“pass” .

我的代码是这样的(rails 控制台):

client = Savon::Client.new("https://www.example.com/loginWeb/rvu.aspx")
client.wsse.credentials 'user', 'pass'

我明白了:(尝试使用“digest”的事件)

HTTPI executes HTTP GET using the net_http adapter
OpenSSL::SSL::SSLError: SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed

我下载了 SoapUI,但在尝试连接到 URL 时出现此错误:

Error loading [http://www.example.com/loginWeb/rvu.aspx?WSDL]: org.apache.xmlbeans.XmlException: org.apache.xmlbeans.XmlException: error: Unexpected character encountered (lex state 3): '&

那么发生了什么?有什么帮助吗?

【问题讨论】:

    标签: ruby-on-rails-3 savon


    【解决方案1】:

    我想这与here 的问题相同:您正在尝试使用自签名 SSL 证书访问网站。

    修复它的一种方法是阻止 Savon 检查它:

    client = Savon::Client.new("https://www.example.com/loginWeb/rvu.aspx")
    client.http.auth.ssl.verify_mode = :none
    client.wsse.credentials 'user', 'pass'
    

    【讨论】:

    • 我按照你说的做了,现在我在运行“client.wsdl.soap_actions”时得到了这个,=> [],这意味着操作为空?
    • 同样的事情。如果我使用 ?wsdl 扩展名,它会给我同样的东西
    • 您可以记录整个响应吗?看起来你最终得到了wsdl 文件,但这个文件本身有问题。您能否验证此文件(例如here)?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多