2009-11-14 59 views
0

我試圖運行以下代碼從ruby調用webservice,但得到一個錯誤'SSL not supported'。在Ruby中調用https Web服務時'SSL不支持'

我安裝了httpclient 2.1.5.2。

require 'soap/wsdlDriver' 

def validate_certificate(is_ok, ctx) 
    cert = ctx.current_cert 
    unless (cert.subject.to_s == cert.issuer.to_s) #check the server certificate only 
    is_ok &&= File.open(file_name).read == ctx.current_cert.to_pem 
    end 
    is_ok 
end 

def test_webservice 
    wsdl = "https://.../service.wsdl" 
    driver = SOAP::WSDLDriverFactory.new(wsdl).create_rpc_driver 
    driver.options['protocol.http.ssl_config.verify_callback'] = method(:validate_certificate) 

    driver.method(params) 
end 
+0

也許您的Ruby安裝沒有內置SSL支持?查看適用於您的平臺的安裝文檔。 –

+0

需要'openssl'=> true。 – user204884

回答