我有一个相当混乱的问题。使用旧代理设置的Web服务?
Web服务 - 被Win32应用程序直接调用,以及其他各种网络应用程序
Web服务B - 通过相同的Win32应用程序和一组不同的其他Web应用程序
我的工作增加了直接调用将B引用到A中,以便我们可以使用B提供的功能,而无需手动将该代码手动重写/重新集成到A中。我在我的PC上开发了A的开发副本,并且正在调用B的测试副本在远程服务器上(我们的托管服务提供商通过互联网访问测试服务器)
我相信我的代码已准备好进行测试,但每次我去我的本地副本上测试它,我得到以下错误。
无连接可以作出,因为目标机器积极地拒绝它10.1.X.XX:8080
at System.Net.Sockets.Socket.DoConnect(EndPoint endPointSnapshot, SocketAddress socketAddress)
at System.Net.Sockets.Socket.InternalConnect(EndPoint remoteEP)
at System.Net.ServicePoint.ConnectSocketInternal(Boolean connectFailure, Socket s4, Socket s6, Socket& socket, IPAddress& address, ConnectSocketState state, IAsyncResult asyncResult, Int32 timeout, Exception& exception)
在错误信息中列出的内部IP是我们的旧的BorderManager网关。它已不再使用,我已经检查了所有Machine.Configs,Web.Configs,注册表项,甚至在我的PC上以2MB为全部文件进行全文搜索以查找其中列出的IP。我再次检查了Internet选项连接设置,但是这是由公司范围内的组策略管理的。我打电话给一个网络人员,以验证IP在当前应用的策略中没有列出。
我找不到它,除非尝试跨越使用它的代码并获取上面显示的异常。
我有使用Web服务B的代码是:
Dim oZip As New ZipTerr.ZIPTerr
oZip.Url = "https://test.test.com/ZIPTerr/ZIPTerr.asmx" ' This really shouldn't be hardcoded...
oZip.PreAuthenticate = True
oZip.Credentials = New System.Net.NetworkCredential("username", "password")
aCity = oZip.GetCities(pstrZip, Date.Now())
它未能在调用oZip.GetCities()与上述错误。错误信息中的IP并不表示它已从我们的本地网络中取出,它是一个10 *私有IP,而测试服务器有一个有效的可公开访问的IP。
任何想法??
更新: 两个Web服务是.NET 2.0中
有无处否则这个网址是,就.NET而言。我建议你找出BorderManager网关在出现时如何运作。也许还有一部分还在。顺便说一句,我认为你的意思是“WinForms”而不是“Win32”。 – 2009-06-30 21:04:16