SOAP и вложенные массивы в WSDL

Есть SOAP-сервис. В нем есть много разных функций. Сделан на PHP.
Сейчас я пишу вручную WSDL к нему, потому что сгенерированный WSDL прокатывает только в PHP, но не в c# (потому что использование typeAny не дает c# понимания о том, какие там данные передаются и он не может в итоге разобрать нормально ответ).

Итак.

WSDL вот: http://api3.nako-reactor.ru/soap/dev.php?wsdl

В нем есть две функции:
- terminalStatus
- form

terminalStatus


Получает на входе два простых параметра и на выходе отдает одномерный ассоциативный массив true|false.

С этой функцией я разобрался и сейчас нормально отдается все, что нужно:
http://api3.nako-reactor.ru/test_soap.php

form


Тут всё плохо. На вход также принимаются простые параметры, но на выходе должно быть вот это:
http://api3.nako-reactor.ru/test_soap_original.php

Однако вместо нужного выдается вот это:
http://api3.nako-reactor.ru/test_soap.php?type=2

Есть догадки, что парсер просто не находит описание сложного типа, поэтому отдает XML, переданный по SOAP в чистом виде.


Специалисты по WSDL, подскажите, где неправильно?

1 ответов