sslを使用してWebサービスを呼び出そうとしています。次のエラーが表示されます:Perl WebサービスSSLネゴシエーションの失敗
500 SSL negotiation failed:
私はフォーラムを検索し、提供された方法を適用しましたが、いずれも機能しませんでした。 Iが適用
2つの方法を以下に列挙する:
1-)呼び出しの前的環境を設定:
$ENV{PERL_LWP_SSL_VERIFY_HOSTNAME} = 0;
2-)通過パラメータssl_opts => [SSL_verify_mode => 0]プロキシへ:
my $soap = SOAP::Lite
-> on_action(....)
-> uri($uri)
-> proxy($proxy, ssl_opts => [ SSL_verify_mode => 0 ])
-> ns("http://schemas.xmlsoap.org/soap/envelope/","soapenv")
-> ns("http://tempuri.org/","tem");
$soap->serializer()->encodingStyle(undef);
解決方法はありますか?
'perl -MIO :: Socket :: SSL = debug4 program.pl'でコードを実行し、問題のデバッグに役立つ情報が含まれている可能性があるので、出力を質問に追加してください。それ以外にssl_optsはおそらくハッシュリファレンスであり、あなたの場合のような配列リファレンスではないはずです。 –
'openssl s_client -connect host:port'で指定のサーバに接続するとどうなりますか? – jcaron
また、あなたが引用したエラーの終わりのコロンは、それ以降はそれがあると私に信じさせます。 – jcaron