我创建了一个Microsoft Dynamics NAV Web Service,它通过 SOAP 提供客户信息。此 WS 在 IIS8 上承载的 ASP.NET 网站上使用。对于用户身份验证,我使用Windows凭据。
在我的本地机器上,一切都很顺利,使用Visual Studio内置的IIS Express和IIS 10的附加安装。现在,我将我的网站移到了我们公司的测试环境中。现在打开网站时,我得到了一些奇怪的行为。
- 从 http://localhost 访问网站无需任何凭据请求即可打开网站
- 从域名访问网站会解析为 HTTP 403 错误
- 从 IP 访问网站会解析为 HTTP 403 错误
错误堆栈提供了以下信息,我假设 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
此问题与连接行为有关,此问题将仅在本地服务器上退出。
当您在实时服务器上托管站点时,您需要删除代理详细信息,因为实时服务器与所有Web服务器都有直接的互联网连接。
试试这个链接如何在网络配置中定义代理列表。您必须绕过代理服务器http://msdn.microsoft.com/en-us/library/kd3cf2ex.aspx
在服务器端调用中定义代理http://forums.asp.net/t/1106772.aspx