PHP, SOAP, ASMX, базовая аутентификация, 500 внутренняя ошибка сервера - PullRequest
0 голосов
/ 12 октября 2011

ОК, поэтому я пытаюсь подключить встроенный 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' для проверки моего скрипта, похоже, работает (аутентификация не требуется).

Есть ли что-то, что я пропускаю? Потому что я просто не могу заставить это работать.

...