0

問題の説明

「javax.net.ssl.SSLHandshakeException: ハンドシェイク中にリモート ホストが接続を閉じました」というエラーが発生し、HTTPS URL 経由で SOAP 要求を送信する

環境:

1) Weblogic 10.3.6.0.1
2) Java バージョン "1.6.0_31" Java(TM) SE ランタイム環境 (ビルド 1.6.0_31-b04)
3) リクエストを送信する Https サーバーが Jetty サーバーである

概要:

1) アプリケーションの以前のリリースでは、HTTPS URL を介してサーバー 1 に SOAP メッセージを送信していました
2) 現在のリリースでは、サードパーティの https サーバーを内部的に呼び出すサードパーティのクライアント jar を使用する新しい要件を実装しました
3) サードパーティのクライアント jar が設定されていますSSL 証明書をアップし、リクエストを送信します。SSL の場合、彼らは 443 ポートを使用しており、ホスト サーバーのプロキシを開いています。
4) これで、Https 経由で接続している 2 つのサードパーティ サーバーができました。サーバー 1 の https ポートは 30042 で、サーバー 2 の https ポートは 443 です。

エラーのユースケース シナリオ:

1) https 経由でサーバー 1 にリクエストを送信し、適切に応答を返します。
2) プロキシ サーバー経由でサード パーティのクライアント jar を使用してサーバー 2 に要求を送信し、適切に応答を取得します。
3) https 経由でサーバー 1 にリクエストを送信すると、「javax.net.ssl.SSLHandshakeException: ハンドシェイク中にリモート ホストが接続を閉じました」というエラーで失敗します。
4) サード パーティのクライアント jar を使用して Server2 に要求を送信し、適切に応答を取得します。 5) サーバー 1 では常に失敗し、 HTTPS 経由で
SOAP メッセージを送信できません 。内部でソケットを開き、それに書き込みます


エラーコード

-------------------------------------------------- -
javax.net.ssl.SSLHandshakeException: ハンドシェイク中にリモート ホストが接続を閉じた

この環境に対する最近の変更

現在、アプリケーションを Solaris から Suse Lunix サーバーに移行しました。

プロセッサの仕様

Linux onsrnasdfgpsdev1 2.6.32.54-0.3-default #1 SMP 2012-01-27 17:38:56 +0100 x86_64 x86_64 x86_64 GNU/Linux
Weblogic 10.3.6.01 Java バージョン "1.6.0_31" Java(TM) SE ランタイム環境 (ビルド1.6.0_31-b04) Java HotSpot(TM) 64 ビット サーバー VM (ビルド 20.6-b01、混合モード)

回避策

• Server 1 接続の場合、生のソケットを作成し、ホストとポート (30042) を設定します。
• リクエストは順調に進んでいます。
• しかし、SOAPConnection または HttpsURLConnection を使用すると、リクエストが送信されず、Handshake エラーがスローされます
• Server1 に Http Url を使用すると、すべて正常に動作します

4

1 に答える 1