使用 Visual Studio 2010 的“添加服务引用”工具生成的客户端为调用任何远程函数返回一个空值。
服务器是一个 Perl CGI 脚本(SOAP::Transport::HTTP::CGI),我知道通过与其他客户端的测试可以正常运行。我使用 POD::WSDL 来生成“添加服务引用”所需的 WSDL 文件。
我已经确认服务器正在从客户端获取消息并返回适当的结果,这使我得出结论,客户端配置或 .NET 的 XML 解析器中存在一些缺陷。不会引发任何错误,并且我不会在调用客户端的应用程序中尝试任何棘手的事情。
以前有人遇到过这个问题吗?或者知道如何获取 XMLSerializer 的调试信息?WSDL 文件是否可以描述正确发送的方法,而不是如何解释响应?
Service.ServiceHandlerClient 客户端 = new Service.ServiceHandlerClient("ARMService", "https://domain/server_soap");
字符串 wut = client.cat_test("a", "b"); // 应该返回 "a b"
Console.WriteLine("results: " + wut ); // 始终为空!