我有一个PHP网站,它通过SOAP调用Web服务。它使用nusoap调用WS。
在我的本地计算机和另一台服务器上,它运行良好,但是在Heroku中,抛出了以下异常:
HTTP错误:cURL错误:27:SSL:无法创建上下文:错误:140A90C4:SSL
例程:SSL_CTX_new:传递了null ssl方法
网址:https://xxx/yyy.Services
内容类型:
代码是:
// Primeiro Try
$obClient = new nusoap_client ( $url_webservice, 'wsdl' );
$obClient->setCurlOption(CURLOPT_SSLVERSION, 4);
$erro = $obClient->getError ();
if ($erro) {
throw new Exception ( "Erro ao conectar", 9999 );
}
$retorno = $obClient->call ( $funcao_chamada, $parametros );
if ($obClient->fault != '') {
$error = $obClient->error_str;
throw new Exception ( utf8_encode ( $error ), 9997 );
}
$erro = $obClient->getError ();
if ($erro) {
$error = $obClient->error_str;
throw new Exception ( utf8_encode ( $error ), 9998 );
}
return $retorno;
}
这是怎么回事?
最佳答案
我正在使用nusoap.php,并通过以下参数调用了setCurlOption方法:
setCurlOption(CURLOPT_SSLVERSION,4)
当我评论此行时,问题已解决。