Я искал эту проблему через все Google, stackoverflow и многое другое. И я нашел много связанных ответов на это, но не настоящее решение.
Я использую службу Axis из клиента .NET, но возвращаемое значение всегда равно нулю, независимо от того, какие параметры я отправляю, всегда равно нулю.
Я начал искать и попытался использовать его из SOAPUI , и это сработало !.
Первой моей мыслью было, что .NET делает что-то не так, я искал и искал и обнаружил, что есть некоторые проблемы с пространствами имен.
Связанное сообщение здесь
Итак, после этого я попытался использовать Сервис через Service Reference, Web Reference, создав прокси с WSDL.EXE (он был создан довольно хорошо!) И поискал все пространства имен , но все в порядке .. Я внес некоторые изменения в пространство имен, но ничего.
Затем я обнаружил, что проблематичными являются не только пространства имен, но и массивы; и на самом деле служба возвращает примерно так.
0036887
00110
00110
000270
NOMBRE PENDIENTE
2011-02-15
2011-02-15
2012-02-15
03
CARLOS ZARATE JIMENEZ
ZAJC720213K98
0449626251463
1
003
237.84
237.84
951.36
.00
0036887
0000000
CARLOS ZARATE JIMENEZ
1972-02-13
1
1
0
00150
SEGURO DE MUERTE ACCIDENTAL
250,000
.00
820.00
039
250,000
.00
00150
SEGURO DE MUERTE ACCIDENTAL
250,000
.00
95.00
039
250,000
.00
00150
SEGURO DE MUERTE ACCIDENTAL
500
.00
36.36
039
500
.00
5183648
2011-02-15
2011-02-26
2011-02-26
00
GENERADO
000000275.89
.00
.00
2011-02-15
2011-05-15
5183649
2011-02-15
2011-02-15
1900-00-00
00
GENERADO
000000275.89
.00
.00
2011-05-15
2011-08-15
5183650
2011-02-15
2011-02-15
1900-00-00
00
GENERADO
000000275.89
.00
.00
2011-08-15
2011-11-15
5183651
2011-02-15
2011-02-15
1900-00-00
00
GENERADO
000000275.89
.00
.00
2011-11-15
2012-02-15
(я получил этот пример из SOAPUI).
Соответствующий пост здесь
Я пробовал также это .
И получил еще одну возможную проблему от здесь с перечисленными элементами массива с именем «item», как вы можете видеть в упомянутом выше WebServiceResponse, они перечислены таким образом.Так что мне все казалось, что это проблема десериализации из C #. И поискав, я нашел половину решения всего этого.
Реальность заключалась в том, что на самом деле .NET получил довольно хороший ответ, все, что у него было, - это проблема с этапом десериализации, возможно, для всех возможных причин, упомянутых выше (несколько пространств имен, массивы, элементы массива, названные как «item»).
http://www.codeproject.com/KB/webservices/Java_WS_NET.aspx
Я переопределил метод в моем прокси следующим образом:
protected override System.Net.WebResponse GetWebResponse(System.Net.WebRequest request)
{
WebResponse wr = base.GetWebResponse(request);
StreamReader sr = new StreamReader(wr.GetResponseStream());
//throw new Exception(sr.ReadToEnd());
return wr ;
}
Я вызвал исключение, чтобы увидеть, был ли получен результат службы и на самом деле тут же!
Итак, в конце концов, я не знаю, есть ли исправление, пакет обновления, кто-то нашел решение или что-нибудь вроде КАК Я МОГУ ПРАВИЛЬНО ПРАВИЛЬНО ДЕЛЕАЛИЗИРОВАТЬ WebResponse. Или как правильно использовать эту службу оси, я думаю, что лучший подход к этому - просто сериализовать ответ, правильно переопределяя метод, потому что это похоже на ошибку .NET, я думаю, что у него проблемы с этим, потому что у всего массива есть элемент " в теме.
Заранее благодарим за то, что прочитали этот пост.
Я действительно ценю любую помощь !.
Еще раз спасибо !.