У меня есть веб-сервис, определенный (WSDL) и реализованный на PHP. Это относительно простые, важные биты, определенные следующим образом:
<message name='registerAccountRequest'>
<part name='key' type='xsd:string'/> <!-- key -->
<part name='data' type='xsd:array'/> <!-- account data -->
</message>
<message name='registerAccountResponse'>
<part name='success' type='xsd:string' />
</message>
Обратите внимание, что параметр данных является массивом, фактически это ассоциативный массив.
PHP-клиент прекрасно работает с этим, вызывая службу и получая правильный ответ.
Теперь, когда я пытаюсь использовать этот сервис в ASP.NET ... что я могу использовать в качестве ассоциативного массива? Hashtable? .. Прокси-класс, созданный Visual Studio, говорит, что второй параметр на самом деле является строкой (или должен быть строкой), а не каким-либо типом коллекции ...
Довольно загадочно ...
Добавление:
Я пытался получить SOAP-запрос, который генерирует PHP, вот его часть, которая содержит параметр «data»:
...<data xsi:type="ns2:Map">
<item>
<key xsi:type="xsd:string">company_data</key>
<value xsi:type="ns2:Map">
<item>
<key xsi:type="xsd:string">name</key>
<value xsi:type="xsd:string">Test company name</value>
</item>
<item>
<key xsi:type="xsd:string">slogan</key>
<value xsi:type="xsd:string">Test company slogan</value>
</item>
...
Так что же это за тип данных ns2: Map? Есть ли что-то, что ASP.NET поддерживает, чтобы отобразить на него чисто?