Я вызываю API, используя php и SOAP. некоторые части запроса похожи на:
<fin:Customer>
<fin1:Address>
<fin1:City>City</fin1:City>
<fin1:Country>CA</fin1:Country>
</fin1:Address>
<fin:Customer>
Что легко сделать с массивами:
'Customer' => array(
'Address' => array (
'City' => $City,
'Country' => $Country,
),
Но моя задача заключается в этой части:
<fin:Criterions>
<fin:Criterion name = "VALX">17</fin:Criterion>
<fin:Criterion name = "VALOP">1</fin:Criterion>
<fin:Criterion name = "VALLP">10</fin:Criterion>
<fin:Criterion name = "TMS">3</fin:Criterion>
Потому что все теги имеют одинаковое имя, а также у них есть параметр имени и значение. Как я могу передать это в SOAP API? Можно ли использовать массивы?
Заранее спасибо!






Самый простой способ создать запрос, отправить его и обработать ответ - использовать генератор WSDL для PHP, поскольку он обычно генерирует каждый класс для каждого параметра, который вам нужно отправить (в дополнение к объектам ответа и классам операций)
Зная это, вы сможете легко увидеть, как передавать эти «дублированные» теги, поскольку это, безусловно, массив объектов, который вы должны передать,
Попробуйте проект PackageGenerator, который должен работать нормально,
Решение:
'Criterions' => array(
'Criterion' => array(
array('name'=> 'VALX' , '_'=> '17' ),
array('name'=> 'VALOP' , '_'=> '1' ),
array('name'=> 'VALLP' , '_'=> '10' ),
array('name'=> 'TMS' , '_'=> '3' )
));
Обязательно используйте подчеркивание ('_'), если другие значения (например, val, value и т. д.) Не работают.
Может сэкономить время и силы.
Пожалуйста, переместите свое решение к собственному ответу.