I am writing a C# client that calls a web service written in Java (by another person). I have added a web reference to my client and I'm able to call methods in the web service ok.
The service was changed to return an array of objects, and the client does not properly parse the returned SOAP message.
MyResponse[] MyFunc(string p)
class MyResponse
{
long id;
string reason;
}
When my generated C# proxy calls the web service (using SoapHttpClientProtocol.Invoke), I am expecting a MyResponse[] array with length of 1, ie a single element. What I am getting after the Invoke call is an element with id=0 and reason=null, regardless of what the service actually returns. Using a packet sniffer, I can see that the service is returning what appears to be a legitimate soap message with id and reason set to non-null values.
Is there some trick to getting a C# client to call a Java web service that returns someobject[] ? I will work on getting a sanitized demo if necessary.
Edit: This is a web reference via "Add Web Reference...". VS 2005, .NET 3.0.