如何使Ruby的SOAP :: RPC :: Driver与自签名证书一起工作?

时间:2008-09-24 17:50:47

标签: ruby soap ssl

在对使用自签名证书的服务器进行soap调用时,如何防止此异常?

require "rubygems"
gem "httpclient", "2.1.2"
require 'http-access2'
require 'soap/rpc/driver'
client = SOAP::RPC::Driver.new( url, 'http://removed' )
client.options[ 'protocol.http.ssl_config.verify_mode' ] = OpenSSL::SSL::VERIFY_NONE
client.options[ 'protocol.http.basic_auth' ] << [ url, user, pass ]

at depth 0 - 18: self signed certificate
/opt/local/lib/ruby/1.8/soap/streamHandler.rb:200:in `send_post': 415:  (SOAP::HTTPStreamError)
    from /opt/local/lib/ruby/1.8/soap/streamHandler.rb:109:in `send'
    from /opt/local/lib/ruby/1.8/soap/rpc/proxy.rb:170:in `route'
    from /opt/local/lib/ruby/1.8/soap/rpc/proxy.rb:141:in `call'
    from /opt/local/lib/ruby/1.8/soap/rpc/driver.rb:178:in `call'

1 个答案:

答案 0 :(得分:2)

尝试:

client.options["protocol.http.ssl_config.verify_mode"] = nil