I have a web service, defined(WSDL) and implemented in PHP. This one is relatively simple, important bits defined as the following:
<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>
Note that data parameter is an array, in fact it is an associative array. PHP client works beautifully with this, calling service and getting proper response.
Now, when I try to consume this service with ASP.NET... what do I use as an associative array? Hashtable?.. Proxy class created by Visual Studio says that second parameter is actually a string(or should be string) and not any type of collection...
Quite puzzling...
Addendum: I tried grabbing SOAP request that PHP generates, here is a part of it that carries 'data' parameter:
...<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>
... So what data type that ns2:Map is? Is there something that ASP.NET supports that maps onto it cleanly?