Я пытаюсь создать мыльный клиент, передавая URL-адрес, который размещен на моей локальной машине, в моей среде разработки, и я продолжаю получать эту ошибку. Я использую, чтобы иметь возможность сделать этот вызов, и он работал просто отлично.
В основном все, что я делаю, это
$ client = new SoapClient ('http://virtual.website.com:81/api/?wsdl');
Если я перехожу по URL в браузере, он появляется, поэтому я знаю, что это правильное место. На форумах Magento есть несколько подобных сообщений, но я не знаю, что это специфическая проблема Magento. Все, что они упоминают как решение, у меня уже есть. Они говорят, что нужно отредактировать файл hosts, например, 127.0.0.1 website.com
У меня уже есть это, поскольку он настроен как виртуальный хост.
Вот ошибка в моем логе error_log
[Fri Jun 04 12:30:37 2010] [error] [client 127.0.0.1] PHP Fatal error: SOAP-ERROR: Parsing WSDL: Couldn't load from 'http://virtual.website.com:81/api/soap/?wsdl' : XML declaration allowed only at the start of the document\n in /usr/local/sites/virtual.website.com/www/CUSTOMSCRIPTS/removeProductImages.php on line 6
[Fri Jun 04 12:30:37 2010] [error] [client 127.0.0.1] PHP Stack trace:
[Fri Jun 04 12:30:37 2010] [error] [client 127.0.0.1] PHP 1. {main}() /usr/local/sites/virtual.website.com/www/CUSTOMSCRIPTS/removeProductImages.php:0
[Fri Jun 04 12:30:37 2010] [error] [client 127.0.0.1] PHP 2. SoapClient->SoapClient(*uninitialized*) /usr/local/sites/virtual.website.com/www/CUSTOMSCRIPTS/removeProductImages.php:6
ОБНОВЛЕНИЕ :: Я обнаружил, что это не проблема с SOAP, что-то добавляет дополнительные пробелы в мой XML-файл.