Я пытаюсь использовать простой веб-сервис с использованием PHP, к сожалению, я получаю следующие сообщения об ошибках, которые (как мне кажется) говорят, что URL-адрес SOAP не может быть открыт, но в браузере он работает нормально (http://www.webservicex.net/uklocation.asmx?WSDL).
Любая идея, где моя ошибка?
Сообщения об ошибках:
Предупреждение: SoapClient :: SoapClient (http://www.webservicex.net/uklocation.asmx?WSDL) [soapclient.soapclient]: не удалось открыть поток: время соединенияв /home/sia-deutschland_de/www/tests/test.php в строке 14
Предупреждение: SoapClient :: SoapClient () [soapclient.soapclient]: предупреждение ввода-вывода: не удалось загрузить внешнюю сущность "http://www.webservicex.net/uklocation.asmx?WSDL" в /home/sia-deutschland_de/www/tests/test.php в строке 14 Ошибка исключения!
SOAP-ERROR: синтаксический анализ WSDL: невозможно загрузить из 'http://www.webservicex.net/uklocation.asmx?WSDL': не удалось загрузитьвнешняя сущность "http://www.webservicex.net/uklocation.asmx?WSDL"
и мой код:
<?php
// include the SOAP classes
require_once('nusoap.php');
try {
$options = array(
'soap_version'=>SOAP_1_2,
'exceptions'=>true,
'trace'=>1,
'cache_wsdl'=>WSDL_CACHE_NONE
);
$client = new SoapClient("http://www.webservicex.net/uklocation.asmx?WSDL", $options);
// Note where 'Get' and 'request' tags are in the XML
//$client = new soapclient("http://www.webservicex.net/uklocation.asmx?WSDL", $options);
$err = $client->getError();
if ($err) {
// Display the error
echo 'client construction error: ' . $err ;
} else {
$answer = $client->call(’GetUKLocationByCounty’,
array(
'Country'=>'London'));
$err = $client->getError();
if ($err) {
// Display the error
echo 'Call error: ' . $err;
print_r($client->response);
print_r($client->getDebug());
} else {
print_r($answer);
}
}
} catch (Exception $e) {
echo "<h2>Exception Error!</h2>";
echo $e->getMessage();
}
?>