2011-06-20 37 views
6

Tôi đang cố gắng để có được đá quý Savon để kết nối với một trong các máy chủ của chúng tôi. Tôi tiếp tục nhận được một lỗi nói rằng tôi không thể vượt qua được ssl. Tôi đã đọc nhiều hướng dẫn và sửa lỗi nhưng dường như không có cách nào hoạt động.Số phát hành Savon SSL

Bất kỳ trợ giúp nào được đánh giá cao - điều này sẽ làm cho Thứ Hai của tôi nếu tôi có thể vượt qua nó :-).

Lỗi:

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) 

Mã của tôi:

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

Bạn có chắc chắn là SSL chạy trên cổng 4433? –

+0

Theo như tôi biết - khi tôi truy cập tệp wsdl dưới https - nếu tôi làm điều đó thông qua trình duyệt, nó sẽ gắn cờ nó dưới dạng chứng chỉ tự ký. Tôi tự hỏi tại sao/cách verify_mode =: none không khởi động. – Northband

+0

bạn đang sử dụng phiên bản của đá quý httpi nào? – rubiii

Trả lời

1

Không chắc chắn nếu bạn đã làm điều này đã có, nhưng khi tôi đã phải sử dụng Savon cho một dự án tôi thấy nó vô cùng hữu ích để đảm bảo Máy chủ xà phòng đã làm việc như tôi nghĩ rằng nó nên với SoapUI (http://www.eviware.com/). Sau đó, bạn có thể xuất yêu cầu SOAP từ hai và so sánh ..

0

Có một số bug trong quá trình bắt tay SSL/net của Ruby.

Hãy thử buộc phiên bản SSL để có được xung quanh lỗi:

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

Savon 2.x hỗ trợ ssl tùy chọn toàn cầu:

Savon.client(ssl_verify_mode: :none) 

Savon.client(ssl_version: :SSLv3) 
Các vấn đề liên quan