SOAP: возвращение массива элементов xsd: any в PHP
Мне нужно вернуть ответ на вызов SOAP в соответствии с WSDL. Все работает нормально, кроме возврата xsd: любой элемент. Часть WSDL, что яу меня возникли проблемы (это для ожидаемого ответа).
xsd:complexType name="data" xsd:sequence xsd:any minOccurs="1" maxOccurs="unbounded" xsd:sequence xsd:complexType
Что я пробовал:
foreach($data as $name=>$value) { $object->data->any[$name] = $value; } return $object;
Вызов SOAP возвращает ответ следующим образом:
..response> -data>value1value2value3value4-/data> .../response>
Хотя перед возвратом объекта видно, что объект создан так, как и должно было быть:
$object->data->any[name1] = value1 $object->data->any[name2] = value2 etc...
Но в ответе asnwer все значения просто помещаются в одну строку в одно возвращаемое поле. Этот код и возврат корректно работают с любым другим типом поля (например, xsd: string и т. Д.).
Как вернуть объект в случае xsd: any type, чтобы получить ответ с несколькими полями в соответствии с именами и значениями?
Спасибо