SoapClient: код ошибки WSDL - PullRequest
0 голосов
/ 04 января 2012

Когда я пытаюсь использовать SoapClient:

try {
    $client = new SoapClient('http://someurl/somefile.wsdl');
} catch (SoapFault $e) {
    var_dump($e);
}

У меня возникает ошибка:

["faultstring"] => "SOAP-ERROR: Parsing WSDL: Couldn't load from 'http://someurl/somefile.wsdl' : failed to load external entity "http://someurl/somefile.wsdl"
["faultcode"] => "WSDL"

Я могу вручную загрузить http://someurl/somefile.wsdl и могу file_get_contents для этого файла.Я пытаюсь использовать его раньше на другом компьютере, и это сработало.Возможная проблема с настройками php или apache.

ArchLinux с последними обновлениями для php и apache.Я пытался включить все расширения PHP.

1 Ответ

0 голосов
/ 30 апреля 2012

Удалось ли вам получить wsdl, используя file_get_contents() в браузере?

У меня недавно была похожая проблема в Archlinux с одинаковой ошибочной строкой, независимо от того, какой файл wsdl использовался.Этот же код работал без каких-либо проблем на других компьютерах Archlinux и Windows XP.

После некоторых исследований выяснилось, что проблема возникает только тогда, когда я пытаюсь получить доступ к странице в браузере - скрипт, доступный из командной строки, работает как ожидалось.Затем я изменил скрипт для прямой загрузки файла wsdl, используя вышеупомянутый file_get_contents() - он выдал мне предупреждение "php_network_getaddresses: getaddrinfo failed: Name or service not known".

Несколько уроков (по SO, или по этому: http://albertech.net/2011/05/fix-php_network_getaddresses-getaddrinfo-failed-name-or-service-not-known/), позже я еще не справился с проблемой.Но потом я обнаружил, что привело к возникновению проблем: я запускал NetworkManager с момента установки Arch (для лучшей работы с беспроводными сетями), а через несколько недель я добавил mysqld и httpd как последний в раздел DAEMONS в rc.conf - похожесломал разрешение DNS для apache.

Имея два решения (вернитесь к запуску серверов вручную или попробуйте другой сетевой менеджер), я перешел на wicd и больше не сталкивался с проблемой.

...