2016-01-13 95 views
0

我試圖瞭解如何根據美國郵政編碼獲取時區,並發現了一條建議使用web service的帖子。我可以在瀏覽器中查看這些方法。在VS中,我開始添加Web引用並使用鏈接並單擊「Go」。它找到該網站並顯示可用的方法,但不允許我添加該參考並顯示以下內容:創建網絡參考時出錯

下載「http://www.webservicex.net/uszip.asmx/_vti_bin/ListData.svc/ $ metadata」時出錯。 請求失敗並顯示錯誤消息:

System.InvalidOperationException:_vti_bin/ListData.svc/$ metadata Web Service方法名稱無效。 at System.Web.Services.Protocols.HttpSe

(這是我可以複製/粘貼的所有錯誤)。我無法聯繫網站尋求幫助,他們只有郵寄地址。我想知道anyopostne是否知道如何解決這個問題。

UPDATE:

我嘗試這兩種方法,並不斷收到:

System.Net.WebException:無法連接到遠程服務器---> System.Net.Sockets.SocketException:連接嘗試失敗,因爲連接的方沒有正確一段時間後響應或已建立的連接失敗,因爲連接的主機未能響應173.201.44.188:80

這是我用過的東西,使用這兩種方法:

// Method 1 
WebServiceNetX.USZip ZipCoding = new WebServiceNetX.USZip(); 
System.Xml.XmlNode ZipInfo = ZipCoding.GetInfoByZIP(sZip); 
string sOutput = ZipInfo.OuterXml; 

// Method 2 
string url = @"http://www.webservicex.net/uszip.asmx/GetInfoByZIP?USZip=" + sZip; 
System.Net.WebClient webClient = new System.Net.WebClient(); 
webClient.Encoding = Encoding.UTF8; 
string result = webClient.DownloadString(url); 
+0

請勿使用Web引用。他們已經過時了。雖然仍然由於某些行業的特殊原因而創建。即使在這些行業中,許多人將肥皂服務與他們自己的寧靜服務結合起來,在內部消費。使用寧靜的方法。 http://www.webservicex.net/uszip.asmx/GetInfoByZIP?USZip=73110 – Suamere

+0

你有沒有試過http://www.webservicex.net/uszip.asmx?wsdl地址? – daryal

+0

謝謝Suamere;我對平安服務並不熟悉,但它似乎是正確的做事方式,我必須學習和使用它。對於短期解決方案,Daryal的解決方案起作用。 – NoBullMan

回答

0

您只需運行Reporting Services配置管理器並將其連接即可。然後刷新你的添加網頁參考窗口。它會連接。