代码之家  ›  专栏  ›  技术社区  ›  John M

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

  •  4
  • John M  · 技术社区  · 14 年前

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

    有一个现有的Web服务WSDL,我已经用wsdl.exe进行了反向工程,以创建一个C代理类。

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

    如何引用生成的代理类以便它在Web服务中工作?

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

    1 回复  |  直到 14 年前
        1
  •  3
  •   John Saunders    14 年前

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

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

    从您的问题来看,我不确定这是您想要的,因为您首先讨论WSDL,然后讨论“默认Web服务模板”。“默认Web服务模板”是什么意思?


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

    svcutil yourwsdl.wsdl/language:c/d:子目录

    这将在子目录中生成许多文件。查看.cs文件,其中一个文件将包含一个接口,该接口是 服务合同 . 这是您的服务必须实现的接口。看看你的“默认”WCF服务应用程序,你会发现它做了同样的事情——生成一个由服务实现的接口。