【问题标题】:Rails : soap4r - Error while running wsdl2ruby.rbRails:soap4r - 运行 wsdl2ruby.rb 时出错
【发布时间】:2010-05-05 23:17:40
【问题描述】:

当我执行 Mathieu$ /Users/Mathieu/.gem/ruby/1.8/bin/wsdl2ruby.rb 路径 --wsdl https://www.arello.com/webservice/verify.cfc?wsdl --type client --force

我明白了

在深度 0 - 20:无法获取本地颁发者证书 F,[2010-05-06T10:41:11.040288 #35933] 致命 -- 应用程序:检测到异常。正在停止... SSL_connect 返回=1 errno=0 state=SSLv3 读取服务器证书 B:证书验证失败(OpenSSL::SSL::SSLError) /Users/Mathieu/.gem/ruby/1.8/gems/httpclient-2.1.5.2/lib/httpclient/session.rb:247:in connect' /Users/Mathieu/.gem/ruby/1.8/gems/httpclient-2.1.5.2/lib/httpclient/session.rb:247:inssl_connect' /Users/Mathieu/.gem/ruby/1.8/gems/httpclient-2.1.5.2/lib/httpclient/session.rb:639:in connect' /Users/Mathieu/.gem/ruby/1.8/gems/httpclient-2.1.5.2/lib/httpclient/timeout.rb:128:intimeout' /Users/Mathieu/.gem/ruby/1.8/gems/httpclient-2.1.5.2/lib/httpclient/session.rb:631:in connect' /Users/Mathieu/.gem/ruby/1.8/gems/httpclient-2.1.5.2/lib/httpclient/session.rb:522:inquery' /Users/Mathieu/.gem/ruby/1.8/gems/httpclient-2.1.5.2/lib/httpclient/session.rb:147:in query' /Users/Mathieu/.gem/ruby/1.8/gems/httpclient-2.1.5.2/lib/httpclient.rb:953:indo_get_block' /Users/Mathieu/.gem/ruby/1.8/gems/httpclient-2.1.5.2/lib/httpclient.rb:765:in do_request' /Users/Mathieu/.gem/ruby/1.8/gems/httpclient-2.1.5.2/lib/httpclient.rb:848:inprotect_keep_alive_disconnected' /Users/Mathieu/.gem/ruby/1.8/gems/httpclient-2.1.5.2/lib/httpclient.rb:764:in do_request' /Users/Mathieu/.gem/ruby/1.8/gems/httpclient-2.1.5.2/lib/httpclient.rb:833:infollow_redirect' /Users/Mathieu/.gem/ruby/1.8/gems/httpclient-2.1.5.2/lib/httpclient.rb:519:in get_content' /Users/Mathieu/.gem/ruby/1.8/gems/soap4r-1.5.8/lib/wsdl/xmlSchema/importer.rb:73:infetch' /Users/Mathieu/.gem/ruby/1.8/gems/soap4r-1.5.8/lib/wsdl/xmlSchema/importer.rb:36:in import' /Users/Mathieu/.gem/ruby/1.8/gems/soap4r-1.5.8/lib/wsdl/importer.rb:18:inimport' /Users/Mathieu/.gem/ruby/1.8/gems/soap4r-1.5.8/lib/wsdl/soap/wsdl2ruby.rb:206:in import' /Users/Mathieu/.gem/ruby/1.8/gems/soap4r-1.5.8/lib/wsdl/soap/wsdl2ruby.rb:36:inrun' /Users/Mathieu/.gem/ruby/1.8/gems/soap4r-1.5.8/bin/wsdl2ruby.rb:46:in run' /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/logger.rb:659:instart' /Users/Mathieu/.gem/ruby/1.8/gems/soap4r-1.5.8/bin/wsdl2ruby.rb:137 /Users/Mathieu/.gem/ruby/1.8/bin/wsdl2ruby.rb:19:in `load' /Users/Mathieu/.gem/ruby/1.8/bin/wsdl2ruby.rb:19 我,[2010-05-06T10:41:11.040855 #35933] 信息 - 应用程序:应用程序结束。 (状态:-1)

【问题讨论】:

    标签: ruby-on-rails soap soap4r wsdl2ruby


    【解决方案1】:

    执行此操作的快速方法是使用 curl 之类的工具将 WSDL 放入一个文件中,然后只要求 wsdl2ruby 使用该文件创建您的 SOAP 客户端。 Ruby 比命令行实用程序对 SSL 证书更加挑剔,并且有在代码中使用 HTTPS 的方法,但我认为您需要取消选择实用程序中的代码。您所需要的只是定义。

    这还有一个不可忽视的优势,即允许您保留在源代码控制系统中使用的 WSDL 作为参考。

    【讨论】:

      猜你喜欢
      • 2011-08-10
      • 1970-01-01
      • 2021-02-01
      • 2012-10-17
      • 2016-09-17
      • 2018-02-07
      • 2014-08-29
      • 2011-06-02
      • 2015-05-01
      相关资源
      最近更新 更多