您好我希望使用测试以下功能: http://msrmaps.com/terraservice2.asmx?op=ConvertLonLatPtToNearestPlace
有没有更快的方法可以使用Visual Studio 2010测试它?我正常使用C#。我只是想知道是否可以输入wsdl,并让visual studio自动生成一些代码来调用服务?感谢。
顺便说一句,这是什么意思“测试表只适用于来自本地机器的请求。”在网址?
答案 0 :(得分:12)
您可以执行一些操作来生成该代码。第一个也是最简单的方法(在我看来)是创建一个对该URL的服务引用。以下是一些截图:
右键单击您的项目,添加服务引用:
输入asmx的URL(不包含查询字符串中的方法),为引用指定名称并单击“确定”:
这将生成您拨打电话所需的代理码:
从那里,您可以使用该代理代码来调用Web服务:
TerraService.TerraServiceSoapClient client = new TerraService
.TerraServiceSoapClient("TerraServiceSoap");
string place = client.ConvertLonLatPtToNearestPlace(
new TerraService.LonLatPt { Lat = 47.6532, Lon = -122.135479 });
第二种方法是使用visual studio附带的命令行WSDL.exe
工具。启动visual studio命令提示符并键入wsdl /?
。这将显示应用程序的参数。就我而言,我只是从http://msrmaps.com/terraservice2.asmx?wsdl下载了一份WSDL副本,将其保存到我的桌面并运行命令:
wsdl /o:./terraservice.cs terraservice.wsdl
在我的WSDL文件旁边生成代理类。
最后一件事......正如@Habibillah建议的那样成为soapUI最好的朋友。它是调用Web服务的绝佳工具,无需编写任何代码。
希望有所帮助!
答案 1 :(得分:2)
Visual Studio可以为URL引用的wsdl / webservice生成代码,即使它在本地计算机外部也是如此。但是,浏览器访问的测试表单可以在本地计算机上访问(localhost)。
但您仍然可以通过其他工具(例如soapUI)在互联网上测试网络服务。这个工具对我来说可以通过互联网测试web服务。