【问题标题】:Error 403 when trying to consume a Web Service from ASP.NET尝试从 ASP.NET 使用 Web 服务时出现错误 403
【发布时间】:2017-11-22 13:10:18
【问题描述】:

我创建了一个通过 SOAP 提供客户信息的 Microsoft Dynamics NAV Web 服务。此 WS 在 IIS8 上托管的 ASP.NET 网站上使用。 对于用户身份验证,我使用 Windows 凭据。

在我的本地计算机上,使用 Visual Studio 内置的 IIS Express 和额外安装的 IIS 10,一切运行顺利。 现在我把我的网站搬到了我们公司的测试环境。现在打开网站时出现一些奇怪的行为。

  1. 从http://localhost 访问网站会打开网站,无需任何凭据请求
  2. 从域名访问网站会解析为 HTTP 403 错误
  3. 从 IP 访问网站会解析为 HTTP 403 错误

errorstack 给出了以下信息,我从中假设 SOAP 响应未能发送请求的数据。

System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage message, WebResponse response, Stream responseStream, Boolean asyncCall) +690210
System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters) +327

【问题讨论】:

  • 您是否启用了 CORS?
  • 是的,CORS 已启用,但没有任何改变。

标签: c# asp.net web-services iis soap


【解决方案1】:

此问题与连接行为有关,此问题仅在本地服务器上存在。

当您在实时服务器上托管您的网站时,您需要删除代理详细信息,因为实时服务器与所有网络服务器都有直接的互联网连接。

试试这个链接如何在 webconfig 中定义代理列表。你必须绕过代理服务器 http://msdn.microsoft.com/en-us/library/kd3cf2ex.aspx

在服务器端调用中定义代理 http://forums.asp.net/t/1106772.aspx

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-07-18
    • 2018-08-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-19
    • 1970-01-01
    相关资源
    最近更新 更多