我正在尝试使用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