У меня возникают трудности с подключением моего скрипта PHP к Moodle 2.0 через предоставленную веб-службу SOAP. Не зная много о SOAP, я решил, что просто подключусь и уйду оттуда. Тем не менее, я даже не могу подключиться ...
$soap=new SoapClient(
'http://mymoodleserver/webservice/xmlrpc/server.php?wstoken=asdfasdfasdfasdfasdf',
array(
'trace'=>1,
'exceptions'=>true,
'cache_wsdl'=>WSDL_CACHE_NONE
)
);
Возвращает:
Неустранимая ошибка: необработанное исключение SoapFault: [WSDL] SOAP-ERROR: синтаксический анализ WSDL: не удалось загрузить ...
Если бы мне пришлось перейти на этот URL-адрес напрямую, данные не возвращались. Глядя на это с помощью Fiddler, видно, что сервер действительно возвращает Content-Length, равный 0.
Нет документации по этому вопросу, которую я мог бы найти ... Однако есть документация для других протоколов .
Я предполагаю, что SoapClient ожидает, что некоторые WSDL определят, какие функции доступны. У меня есть список этих функций и параметров (нет, спасибо официальной странице документации ). Как я могу дать указание SoapClient не беспокоиться о WSDL и продолжать?
Я проверил ошибки в журнале ошибок PHP на сервере Moodle, и он оказался чистым.