Ich glaube, ich habe alle Themen zu diesem Thema gelesen, aber immer noch keine Lösung. Ich verwende:RubyMine Rails 5 Savon net_http Errno :: ECONNRESET SSL_Connect
- RubyMine 2017.02.04
- Rubin 2.4.1
- Rails 5.1.0
- Savon
Als ich in meinen Schienen Konsole mit Savon an eine Verbindung Server, bekomme ich folgende Fehlermeldung:
Errno :: ECONNRESET: Eine bestehende Verbindung wurde zwangsweise durch diegeschlossenRemote-Host. - SSL_connect
Dies ist der Code, den ich verwenden:
wsdlUrl = 'https://some.server.com/ws/schema/Echo.wsdl'
licenseKey = '1234567890'
client = Savon.client(wsdl: wsdlUrl,
log:true,
ssl_verify_mode: :none)
response = client.call(:echo,
message: { licenseKey: licenseKey,
value: 'Hello World'})
puts "\nResult \"#{response.body[:echo_response][:value]}\" was returned"
Ich habe versucht, folgende:
- Laden Sie die ca-bundle.crt und hinzugefügt, um meine Systemumgebung (und neu starten
alles) - Aktualisiert meine Edelsteine
- Installieren Sie Ruby, Rails und RubyMine
- eine neue App und kopierten Code
- Erstellt hinzugefügt, um den Code
den folgenden Code hinzugefügt "openssl erfordern": mehr
require 'open-uri' require 'net/https' module Net class HTTP alias_method :original_use_ssl=, :use_ssl= def use_ssl=(flag) path = (Rails.env == "development") ? "lib/ca-bundle.crt" : "/usr/lib/ssl/certs/ca-certificates.crt" self.ca_file = Rails.root.join(path).to_s self.verify_mode = OpenSSL::SSL::VERIFY_PEER self.original_use_ssl = flag end end end
Einfach nichts funktioniert.
Das seltsame dies ist dies:
Wenn ich die Schienen (Entwicklung) Konsole laufen, und ich geben Sie den angezeigten Code ich den ssl_connect Fehler. Wenn ich Code in RubyMine ändere und die Konsole NICHT neu starte, erhalte ich keine Fehler. Wenn ich die Rails-Konsole erneut ausführen, erhalte ich den Fehler ssl-connect erneut.
Weiß jemand, wo ich
EDIT 1 aussehen: ich, wenn ich über Code herausgefunden, in einem Dokument setzen (echo.rb) es wird funktionieren, wenn ich wie das Dokument im Terminal aufrufen: Rubin echo.rb
funktioniert es von einem Skript? –
Es funktioniert, wenn ich das Skript vom Terminal aus aufrufen. Ich legte den Code in ein Dokument echo.rb. Wenn ich ruby echo.rb ausführen wird es funktionieren ... – Jerry
Sorry, kann nicht mit Rails helfen. –