Задать вопрос
@ChernovGV

Php SOAP, как авторизоваться на всех используемых доменах в WSDL?

Добрый день.
Необходимо отправить коневерт в SOAP сервис. Условия такие:
Есть stunel через который проброшен тоннель до домена domainA.Т.е. теперь через 127.0.0.1:8080 я обращаюсь к этому домену.
И так, я пытаюсь создать soap клиента:
$location = 127.0.0.1:8080/some?wsdl
             $client = new SoapClient($location, array('trace' => 1, 'location'=>$location, 'login' => $login, 'password' => $pass));

И выходит эксепшен:
SOAP-ERROR: Parsing Schema: can't import schema from 'https://domainB/some.xsd'

Смотрю содержимое 127.0.0.1:8080/some?wsdl, там подключается несколько .xsd файлов на другом домене. Ок.
Пытаюсь создать проект в SoapUI, ввожу 127.0.0.1:8080/some?wsdl, ввожу логин-пароль все ок, далее выходит опять окно авторизации уже для файла https://domainB/some.xsd, еще раз ввожу тот-же логин-пароль, потом еще для нескольких файлов, и все проект создался, и сервис начинает корректно отвечать на запросы.
Вывод нужно авторизоваться не только в самой WSDL, но и для каждого используемого в WSDL файла. В SoapUI это делается руками, но как это сделать с помощью php?
  • Вопрос задан
  • 931 просмотр
Подписаться 1 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Skillbox
    Веб-разработчик на PHP
    9 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • OTUS
    PHP Developer. Professional
    5 месяцев
    Далее
Решения вопроса 1
@ChernovGV Автор вопроса
В общем, решил вопрос с помощью:
https://packagist.org/packages/phpforce/soap-client
Скрипт качает все используемые файлы в кеш и все норм работает.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы