如何在Web服务中使用WSDL生成的代理类?

时间:2010-07-07 02:38:42

标签: c# asp.net .net-3.5 wsdl web-services

免责声明:我对网络服务的经验/知识非常有限。

我已经使用wsdl.exe反向设计了一个现有的Web服务WSDL,以创建一个C#代理类。

使用Visual Studio 2008我创建了一个默认的Web服务模板。

如何引用生成的代理类以使其在Web服务中起作用?

例如 - >调用http://localhost/webservice/service.asmx?WSDL将返回代理类的详细信息。

1 个答案:

答案 0 :(得分:3)

首先,您不应该使用ASMX Web服务。 Microsoft现在认为它们是“遗留技术”,并建议使用WCF完成Web服务客户端或服务的所有新开发。不要从劣势开始。

其次,使用WSDL的常用方法是在Visual Studio中使用“添加Web引用”命令(如果使用WCF,则使用“添加服务引用”)。这会为您生成代理类并将它们添加到您的项目中。

我不确定你的问题,这是你想要的,因为你先谈论WSDL,然后谈谈“默认的Web服务模板”。你对“默认的网络服务模板”有什么意义?


尝试使用svcutil.exe程序(而不是WSDL.EXE),如下所示:

  

svcutil YourWsdl.WSDL / language:C#/ d:子目录

这应该在子目录中产生许多文件。看一下.cs文件,其中一个文件将包含一个接口,即服务合同。这是您的服务必须实现的接口。查看您的“默认”WCF服务应用程序,您将看到它执行相同的操作 - 生成由服务实现的接口。