当我执行时 Mathieu $ /Users/Mathieu/.gem/ruby/1.8/bin/wsdl2ruby.rb path --wsdl https://www.arello.com/webservice/verify.cfc?wsdl - type client --force
我得到了
深度0 - 20:无法获得本地发行人证书
F,[2010-05-06T10:41:11.040288#35933]致命 - app:检测到异常。正在停止... SSL_connect返回= 1 errno = 0状态= 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:in
ssl_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:in
timeout'
/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:in
query'
/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:in
do_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:in
protect_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:in
follow_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:in
fetch'
/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:in
import'
/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:in
run'
/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:in
start'
/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)
答案 0 :(得分:2)
快速执行此操作的方法是使用curl之类的工具将WSDL放入文件中,然后让wsdl2ruby使用此文件创建SOAP客户端。关于SSL证书,Ruby比命令行实用程序更加挑剔,并且有很多方法可以在代码中使用HTTPS,但我认为您需要取消实用程序中的代码。您只需要定义。
这也有一个不可忽视的优点,即允许您将源代码控制系统中使用的WSDL作为参考。