Visual Studio 2010 SOAP 服务引用仅返回空值
Posted
技术标签:
【中文标题】Visual Studio 2010 SOAP 服务引用仅返回空值【英文标题】:Visual Studio 2010 SOAP service reference returns only null values 【发布时间】:2011-04-19 23:02:36 【问题描述】:使用 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("结果:" + wut ); // 始终为空!
【问题讨论】:
【参考方案1】:我为此找到了多么糟糕的解决方案:
在“添加服务引用”向导中,“添加 Web 服务”底部有一个按钮,可生成另一个可立即运行的实用程序。这只留下了一个问题,为什么另一个向导会生成一个适用于大多数功能但不是全部功能的代理。
【讨论】:
以上是关于Visual Studio 2010 SOAP 服务引用仅返回空值的主要内容,如果未能解决你的问题,请参考以下文章
为啥 Visual Studio 生成的 WSDL 未指定 soap:operation 元素(缺少 wsdl:binding 元素)
在 Visual Studio 开发服务器上为 Soap Web 服务启用 CORS 设置
服不服!宇宙最强 IDE: Visual StudioEclipse和Android Studio; Win 95重现人间