У меня есть wsld url. Я должен добавить пользовательский заголовок HTTP-запроса для авторизации для этого wsdl. Когда я пытаюсь использовать soapclient следующим образом, я получаю ошибку.Soapclient wsdl инициализируется с пользовательским заголовком HTTP-запроса
/* userName and password is masked in this question */
$opts = array(
'http'=>array(
"userName:xxxxx\r\n".
"password:xxxxxx\r\n"
)
);
$streamContext = stream_context_create($opts);
$cilent = new SoapClient("https://iflyrestest.ibsgen.com:6013/iRes_Booking_WS/services/AvailabilityPort?wsdl" , array('stream_context' => $streamContext));
Ошибка:
Fatal error: Uncaught SoapFault exception: [WSDL] SOAP-ERROR: Parsing WSDL: Couldn't find <definitions> in
Потому что ответ, как "Вы не авторизованы для доступа к этому URL ...
Кроме того, когда я пытаюсь функция 'file_get_content()' с тем же stream_context , Я успешно получаю содержание этого URL-адреса.
Как использовать soapclient для этого случая?
@mikeel К несчастью, wsdl не использует http basic authentication. Я должен отправить их через http-заголовок –