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

Как правильно добавлять атрибуты в SOAP запрос посредством SoapVar?

Нужно сгенерировать такой XML средствами через SoapClient. Удаленный сервис wsdl не предоставляет.

<sys:Test attr1="val1" attr2="val2" xmlns:sys="http://www.test.com/schema/system_v1">
            <sys:Val attr="val">blablabla</sys:Val>
</sys:Test>


Как правильно передать атрибуты в функцию $client->Test($params), где $params = new SoapVar('test', XSD_STRING), чтобы получить описанный выше XML-код.

Нашел на php.net такой вариант:
$tag[]['_'] = 'yyy'; 
$tag[]['attr'] = 'xxx'; 
$tagVar = new SoapVar($tag, SOAP_ENC_OBJECT);


Но он вместо параметров генерирует иерархическое xml-дерево и всё равно не совсем понятно как добавить атрибуты в саму функцию. Хочется найти наиболее прямой вариант без переопределения всего и всея (например, метода __doRequest).

Заранее спасибо.
  • Вопрос задан
  • 3522 просмотра
Подписаться 3 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 1
@s0rr0w
Скорее всего, только при помощи низкоуровневой генерации XML-ответа при помощи DOM или SimpleXML, c использованием метода __doRequest
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
от 200 000 до 290 000 ₽