C# 可以在VisualStudio中使用WSDL自动生成代码
您好,我希望使用以下功能进行测试: 是否有更快的方法可以使用VisualStudio2010进行测试?我通常使用C。我只是想知道是否可以输入wsdl,并让VisualStudio自动生成一些代码来调用服务?谢谢C# 可以在VisualStudio中使用WSDL自动生成代码,c#,visual-studio-2010,web-services,C#,Visual Studio 2010,Web Services,您好,我希望使用以下功能进行测试: 是否有更快的方法可以使用VisualStudio2010进行测试?我通常使用C。我只是想知道是否可以输入wsdl,并让VisualStudio自动生成一些代码来调用服务?谢谢 顺便问一下,“测试表单仅对来自本地计算机的请求可用”是什么意思?在url中?Visual studio可以为url引用的wsdl/webservice生成代码,即使它在本地计算机外部也是如此。但是,通过浏览器访问的测试表单只能在本地计算机(localhost)上访问 但您仍然可以通过其
顺便问一下,“测试表单仅对来自本地计算机的请求可用”是什么意思?在url中?Visual studio可以为url引用的wsdl/webservice生成代码,即使它在本地计算机外部也是如此。但是,通过浏览器访问的测试表单只能在本地计算机(localhost)上访问
但您仍然可以通过其他工具(例如,internet)在internet上测试Web服务。这个工具对我在internet上测试Web服务很有用。您可以做一些事情来生成代码。在我看来,第一个也是最简单的方法是创建一个指向该URL的服务引用。以下是一些屏幕截图: 右键单击项目,添加服务引用: 输入asmx的URL(查询字符串中没有方法),为引用指定名称,然后单击“确定”: 这将生成进行呼叫所需的代理代码: 从那里,您可以使用该代理代码调用web服务:
TerraService.TerraServiceSoapClient client = new TerraService
.TerraServiceSoapClient("TerraServiceSoap");
string place = client.ConvertLonLatPtToNearestPlace(
new TerraService.LonLatPt { Lat = 47.6532, Lon = -122.135479 });
第二种方法是使用VisualStudio附带的命令行WSDL.exe
工具。启动visual studio命令提示符并键入wsdl/?
。这将显示应用程序的参数。在我的例子中,我只是从中取出WSDL的副本,将其保存到我的桌面,然后运行以下命令:
wsdl /o:./terraservice.cs terraservice.wsdl
生成WSDL文件旁边的代理类
最后一件事。。。按照@Habibillah的建议,与soapUI成为最好的朋友。它是一个调用web服务而无需编写任何代码的极好工具
希望有帮助 在visual studio中创建webservice代理。“测试表单仅适用于来自本地计算机的请求。”意味着您无法在从本地主机以外的任何URL浏览时执行web方法。以防有人怀疑;屏幕2中的地址也可以是文件路径。