【问题标题】:System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponseSystem.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse
【发布时间】:2011-06-22 16:00:27
【问题描述】:

我在名为“TestServices”的虚拟目录下托管了 Web 服务。客户端程序添加了 Web 引用,这些引用指向我的开发环境中的“TestServices”虚拟目录。

我们的测试环境是生产环境的副本,虚拟目录名称是“ConfiguratorApplication”。当我在测试环境中运行客户端 exe 时,我得到了标题中提到的异常。应用程序配置文件中提到了正确的 url。

当虚拟目录名称可能不匹配但您仍然在开发过程中添加Web引用或创建Web服务的代理类时如何处理这种情况?

【问题讨论】:

    标签: asp.net web-services wsdl


    【解决方案1】:

    您可以将代理对象的Url 属性设置为任何实现与原始网络引用相同的服务描述的位置:

    yourClientProxy.Url = ConfigurationManager.AppSettings["yourUrlKeyInAppConfig"];
    

    【讨论】:

    • 我正在将 URL 设置为您提到的正确虚拟目录。我可以在 IE 中浏览服务。但我仍然面临这个问题。
    • @CSharpLearner,您能否提供有关您收到的异常的更多详细信息(例如其回溯)?
    • 按照您的说法设置代理 URL,解决了我的问题。谢谢你。但我想进一步了解:如果我需要在我的环境中的多台服务器上托管 Web 服务怎么办?这东西怎么管理?