2016-01-13 131 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配置管理器并将其连接即可。然后刷新你的添加网页参考窗口。它会连接。