Estoy escribiendo un cliente C# que llama a un servicio web escrito en Java (por otra persona). He agregado una referencia web a mi cliente y puedo llamar a los métodos en el servicio web.Escribiendo un cliente C# para consumir un servicio web Java que devuelve una matriz de objetos
El servicio se cambió para devolver una matriz de objetos y el cliente no analiza correctamente el mensaje SOAP devuelto.
MyResponse[] MyFunc(string p)
class MyResponse
{
long id;
string reason;
}
Cuando mi generado C# proxy de llama al servicio web (usando SoapHttpClientProtocol.Invoke), estoy esperando a [] array MyResponse con longitud de 1, es decir, un solo elemento. Lo que obtengo después de invocar Invoke es un elemento con id = 0 y reason = null, independientemente de lo que el servicio realmente devuelva. Utilizando un rastreador de paquetes, puedo ver que el servicio está devolviendo lo que parece ser un mensaje legítimo de jabón con id y razón establecida en valores no nulos.
¿Hay algún truco para hacer que un cliente C# llame a un servicio web Java que devuelve someobject []? Trabajaré para obtener una demostración desinfectada si es necesario.
Editar: Esta es una referencia web a través de "Agregar referencia web ...". VS 2005, .NET 3.0.
¿Está utilizando "Agregar referencia web" (.NET 2.0) o "Agregar referencia de servicio" (.NET 3.0)? –