Клиент, сгенерированный с помощью инструмента «Добавить ссылку на службу» Visual Studio 2010, возвращает нулевое значение для вызовов любой удаленной функции.
Сервер представляет собой сценарий Perl CGI (SOAP::Transport::HTTP::CGI), который, насколько я знаю, работает корректно при тестировании с другими клиентами. Я использовал POD::WSDL для создания файла WSDL, который требуется для «Добавить ссылку на службу».
Я подтвердил, что сервер получает сообщения от клиента и возвращает соответствующие результаты, что привело меня к выводу, что есть некоторая ошибка либо в конфигурации клиента, либо в синтаксическом анализаторе XML .NET. Никаких ошибок не выдается, и я не делаю ничего сложного в приложении, которое вызывает клиент.
У кого-нибудь была эта проблема раньше? Или знаете, как получить отладочную информацию для XMLSerializer? Может ли файл WSDL описывать средства для правильной отправки, но не то, как интерпретировать ответ?
Service.ServiceHandlerClient client = new Service.ServiceHandlerClient("ARMService", "https://domain/server_soap");
string wut = client.cat_test("a", "b"); // должно вернуть "a b"
Console.WriteLine("results: " + wut ); // всегда равно нулю!