J'ai un client SOAP dans Ruby que j'essaye de travailler avec un serveur SOAP Ruby, mais en vain. Le client fonctionne bien sur SSL avec un serveur SOAP Python, mais pas avec la version Ruby. Voici ce que le serveur ressemble:Ruby SOAP SSL Woes
require 'soap/rpc/standaloneServer'
require 'soap/rpc/driver'
require 'rubygems'
require 'httpclient'
def cert(filename)
OpenSSL::X509::Certificate.new(File.open("path to cert.cert") { |f|
f.read
})
end
def key(filename)
OpenSSL::PKey::RSA.new(File.open("path to rsaprivate.key") { |f|
f.read
})
end
class Server < SOAP::RPC::HTTPServer
~code snipped for readability~
end
server = Server.new(:BindAddress => HelperFunctions.local_ip, :Port => 1234, :SSLCertificate => cert("path to cert"), :SSLPrivateKey => key("path to rsa private key"))
new_thread = Thread.new { server.start }
J'ai parés une partie du code pour des raisons de lisibilité (par exemple, j'ai quelques méthodes là, j'expose) et il fonctionne très bien avec SSL off. Mais lorsque le client tente de se connecter, il voit ceci:
warning: peer certificate won't be verified in this SSL session
/usr/lib/ruby/1.8/net/http.rb:567: warning: using default DH parameters.
/usr/lib/ruby/1.8/net/http.rb:586:in `connect': unknown protocol (OpenSSL::SSL::SSLError)
J'ai essayé de prendre quelques conseils de this post et maintenant je vois ce message:
/usr/lib/ruby/1.8/soap/httpconfigloader.rb:64:in `set_ssl_config': SSL not supported (NotImplementedError)
Toutes les idées sur la façon de résoudre ce problème serait grandement apprécié.
J'ai le même problème, mais pour un client. J'ai essayé 'require 'webrick/https'' en vain. Avez-vous eu du succès côté client? –