2011-06-20 31 views
6

Savonの宝石を私たちのサーバーの1つに接続するのに苦労しています。私はSSLを過ぎて行くことができないというエラーが表示され続けます。私は数多くのチュートリアルや修正を読みましたが、うまくいくものはありません。Savon SSLの問題

すべてのヘルプ感謝 - 私は:-)それを乗り越えることができれば、これは私の月曜日になります。

エラー:

D, [2011-06-20T09:43:02.002993 #10328] DEBUG -- : Retrieving WSDL from: http://path_to_wsdl:4443/sm/services/mailing/2009/03/02?wsdl 
D, [2011-06-20T09:43:02.129057 #10328] DEBUG -- : HTTPI executes HTTP GET using the httpclient adapter 
/.rvm/gems/ruby-1.9.2-p0/gems/httpclient-2.2.1/lib/httpclient/session.rb:276:in `connect': SSL_connect returned=1 errno=0 state=SSLv2/v3 read server hello A: sslv3 alert unexpected message (OpenSSL::SSL::SSLError) 

マイコード:あなたはすでにこれをしなかったが、私はプロジェクトのためサボンを使用していたとき、私はそれが非常に便利なことを確認することが分かっている場合

require 'savon' 

client = Savon::Client.new "path_to_my_wsdl" 

client.http.auth.ssl.cert_file = "path/cert.pem" 

client.http.auth.ssl.cert_key_file = "/path/localhost.key" 
client.http.auth.ssl.verify_mode = :none 

client.wsse.credentials "username", "password" 

client.wsdl.soap_actions 
+2

あなたは、特定のSSLされていますポート4433で実行していますか? –

+0

私が知っている限り、私はhttpsの下でwsdlファイルにアクセスします。私がブラウザ経由で行うと、それは自己署名証明書としてフラグを立てます。私はなぜ/どのようにverify_mode =:が蹴られていないのだろうかと疑問に思っています。 – Northband

+0

どのバージョンのhttpi宝石を使っていますか? – rubiii

答えて

1

わかりません私がSoapUI(http://www.eviware.com/)ですべきだと思ったように、Soapサーバーが動いていました。その後、出力することができ2との比較からSOAPリクエスト..

0

SSLハンドシェークのRubyのネット/ HTTP取り扱い中bugがあります。

バグを回避するためにSSLのバージョンを強制的に試してみてください。

client.http.auth.ssl.sock.ssl_version="SSLv3" 
2

サボン2.xのサポートSSLグローバルオプション:

Savon.client(ssl_verify_mode: :none) 

Savon.client(ssl_version: :SSLv3)