Моя цель - создать запрос на мыло, который может содержать такие элементы:
<flexFields>
<names>
<names>IAG Group</names>
<names>Ticket #</names>
</names>
</flexFields>
Однако любая комбинация мылавара и соаппарама, которую я смог придумать, делает невозможнымдля меня, чтобы дублировать вложенный тег «имена».Я могу получить 1 вложенный тег, например, так:
$flexFields = array(
'names'=> new SoapVar(
new SoapVar(array('names'=>'IAG Group'),SOAP_ENC_OBJECT),
SOAP_ENC_OBJECT)
);
Это генерирует:
<flexFields xsi:type="ns2:SoapNamedValues">
<names xsi:type="names">
<names xsi:type="xsd:string">IAG Group</names>
</names>
</flexFields>
Но любая попытка, которую я делаю, чтобы повторить тег имени, либо генерирует страшный элемент BOGUS, если яиспользовать SOAP_ENC_OBJECT или оборачивать каждый элемент в другой элемент 'item', если я использую SOAP_ENC_ARRAY, что также нежелательно.
Я знаю, что могу просто вручную создать то, что хочу, и загрузить его с помощью XSD_ANYXML, но это становитсяблизок к тому, чтобы победить цель использования библиотеки SOAP.
Может ли кто-нибудь привести пример того, как идеально сбалансировать вложение массива soapvar / soapparam +, чтобы это действительно заработало?Или я пытаюсь сделать невозможное с помощью библиотеки PHP SOAP?