Я получаю одинаковую ошибку с каждым URL-адресом wsdl, который я получил в качестве примера при исследовании, но все еще получаю ту же ошибку.
Я пытался работать с ssl, и каждое предложение кажется быть тупиком, поскольку они не решают мои проблемы. Я также установил расширение для openssl.
Вот код, который я использую с Laravel.
ini_set("soap.wsdl_cache_enabled", "0");
ini_set("default_socket_timeout", "300");
ini_set ( 'max_execution_time' , 180);
$opts = array(
'ssl' => array('ciphers'=>'RC4-SHA', 'verify_peer'=>false, 'verify_peer_name'=>false)
);
$params = array ('encoding' => 'UTF-8', 'verifypeer' => false, 'verifyhost' => false, 'soap_version' => SOAP_1_2, 'trace' => 1, 'exceptions' => 1,'user_agent' => 'PHPSoapClient', "connection_timeout" => 180, 'stream_context' => stream_context_create($opts) );
$url = "http://www.webservicex.net/globalweather.asmx?WSDL";
try{
$client = new SoapClient($url,$params);
dd($client->GetCitiesByCountry(['CountryName' => 'Peru'])->GetCitiesByCountryResult);
}
catch(SoapFault $fault) {
echo '<br>'.$fault;
}
Это ошибка, которую я получаю
Исключение SoapFault: [WSDL] SOAP -ERROR: синтаксический анализ WSDL: невозможно загрузить из 'http://www.webservicex.net/globalweather.asmx?WSDL':
I перепробовал более 3 конечных точек wsdl, чтобы проверить, почему код не работает, но, похоже, мой сервер не может подключиться ни к одному из хост-серверов. Заранее спасибо.