Я пытаюсь вызвать веб-службу с помощью ssl. Он дает следующую ошибку:Perl Webservice Ошибка согласования 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