Я пишу SoapServer с PHP 5.2, чтобы вернуть список вакансий в другое приложение. Мой документ WSDL требует сложного типа в соответствии с:
<xsd:element name="Vacancies">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="Vacancy" type="ns:VacancyType" minOccurs="0" maxOccurs="unbounded"></xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
Моя функция генерирует большой вложенный массив для сборки каждой вакансии, а затем возвращает массив массивов (т.е. вакансий) в SoapServer.
К сожалению, каждый массив индексируется. Таким образом, каждый элемент VacancyType в Vacancies имеет уникальный индекс. Это, кажется, отбрасывает определение WSDL, а возвращаемые мне данные просто выдают ошибку разбора. Я бы обычно использовал ассоциативные массивы для значений пары ключей, но поскольку я имею дело с n экземплярами VacancyType, которые не будут работать, поскольку не будет уникальной ссылки.
Есть ли известное решение для такого сценария (например, может быть, объект), или я должен переработать документ WSDL, чтобы обслуживать индексированные массивы?
Спасибо