ОК, поэтому я пытаюсь подключить встроенный PHP SoapClient к веб-сервису .Net ASMX. Серверу требуется базовая аутентификация, которую поддерживает SoapClient, поэтому он кажется довольно простым.
Я полностью работаю на стороне клиента, поэтому у меня нет доступа к самому коду сервера, но после посещения страницы в моем браузере и ввода имени пользователя / пароля все это отображается правильно.
Вот мой текущий PHP (минус URL, пользователь и пароль):
<?php
$ini = ini_set("soap.wsdl_cache_enabled","0");
$url = 'https://<blah blah>.asmx?WSDL';
$options = array(
'login' => "<user>",
'password' => "<pass>"
);
$client = new SoapClient($url, $options);
var_dump($client->__getFunctions());
?>
Опять же, кажется довольно прямым. Однако это всегда возвращает " Внутренняя ошибка сервера
Сервер обнаружил внутреннюю ошибку или неверную конфигурацию и не смог выполнить ваш запрос. "Другие сведения не предоставлены, а журнал ошибок пуст. Я даже пытался обернуть код в блок try{} catch{}
, но он все равно просто выплевывает та же ошибка, как только она попадает в строку new SoapClient
.
Более того, использование 'http://soap.amazon.com/schemas3/AmazonWebServices.wsdl' для проверки моего скрипта, похоже, работает (аутентификация не требуется).
Есть ли что-то, что я пропускаю? Потому что я просто не могу заставить это работать.