我正在嘗試使用SSL調用Web服務。它給出了以下錯誤:Perl Web服務SSL協商失敗
500 SSL negotiation failed:
我搜索論壇和應用提供的方法,但他們都沒有工作。
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