0

使用 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 ); // 始终为空!

4

1 回答 1

0

我为此找到了多么糟糕的解决方案:

在“添加服务引用”向导中,“添加 Web 服务”底部有一个按钮,它会生成另一个可以立即工作的实用程序。这只留下了为什么另一个向导会生成一个适用于大多数功能但不是所有功能的代理的问题。

于 2010-10-01T18:37:11.257 回答