我有一个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)

当我评论此行时,问题已解决。

09-25 19:27