我们有一个 .NET 3.5 Web 服务,只要我们的 Web 服务安装在 Windows Server 2003 上,它在调用外部 Web 服务时就能正常运行。当我们的 Web 服务安装在 Windows Server 2008 上时,我们的出站 Web 服务调用永远不会进行。我们在大约 5 个不同的 2008 服务器上复制了此行为,但问题完全相同。我们想知道是不是因为我们调用的服务的 URL 地址没有以文件名结尾,它看起来像这样: https://......./ws/SomeService?applicationName=123
我们知道这行代码正在执行: Dim result As IAsyncResult = CType(request.BeginGetRequestStream(AddressOf sendCallback, request), IAsyncResult)
然而 Fiddler 显示没有请求https://......./ws/SomeService?applicationName=123
如果我们将应用程序移至 Windows 2003 服务器,它就能完美运行。
如果有人有任何建议我将非常感谢您的帮助。
答案1
事实证明,我们遇到的错误是由于我们的第三方 Web 服务端发生了变化,他们更改了身份验证机制,导致身份验证失败,并且由于身份验证失败,请求无法出现在 Fiddler 中。他们的服务是用 Java 编写的,我对他们的服务器不太了解。希望这对某些人有帮助。