我有一個相當混亂的問題。使用舊代理設置的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