Массив из нескольких элементов плохо воспринимается в XML

#php #xml #web-services #soap #soapui

#php #xml #веб-сервисы #мыло #соапуи

Вопрос:

У меня есть веб-сервис, XML-ответ которого подается через PHP, вот так:

 Array (  [0] =gt; Array  (  [name] =gt; Jane  [surname] =gt; Doe  [country] =gt; Rwanda    )  [1] =gt; Array  (  [name] =gt; John  [surname] =gt; Doe  [country] =gt; Gibraltar    )  )  

Я обслуживаю его таким образом с помощью PHP:

 $server-gt;WebWsdl-gt;addComplexType(  'PersonsArray',  'complexType',  'array',  '',  'SOAP-ENC:Array',  array(),  array(  array(  'ref' =gt; 'SOAP-ENC:arrayType',  'wsdl:arrayType' =gt; 'tns:Persons[]'  )  ),  'tns:Persons'   );  $serv-gt;WebWsdl-gt;addComplexType(  'Person',  'complexType',  'struct',  'all',  '',  array(  'name' =gt; array('name'=gt;'name','type'=gt;'xsd:string'),  'surname' =gt; array('name'=gt;'surname','type'=gt;'xsd:string'),  'country' =gt; array('name'=gt;'country','type'=gt;'xsd:string'),  )  );  

Тестирование ответа с помощью SOAPUI:

 lt;SOAP-ENV:Envelope SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tns="http://tests/soap/WebServices"gt;  lt;SOAP-ENV:Bodygt;  lt;ns1:RetrievePersons xmlns:ns1="https://tests/webservices"gt;  lt;info xsi:type="tns:Persons"/gt;  lt;/ns1:RetrievePersonsgt;  lt;/SOAP-ENV:Bodygt; lt;/SOAP-ENV:Envelopegt;  

Я ожидал, что в ответе веб-службы он вернет элемент info, который представляет собой массив с каждым массивом лиц (с именем, фамилией и страной).

Кто-нибудь знает, почему он не извлекает массивы с информацией о лицах?