2009-11-14 28 views
0

J'essaye d'exécuter le code suivant pour appeler un service web de ruby ​​mais obtenir une erreur 'SSL non supporté'.'SSL non pris en charge' lors de l'appel du service web https dans Ruby

J'ai httpclient 2.1.5.2 installé.

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

Peut-être que votre installation Ruby n'a pas de support SSL intégré? Jetez un oeil à la documentation d'installation pour votre plate-forme. –

+0

require 'openssl' => true. – user204884

Répondre