从wsdl生成Web服务

时间:2009-08-03 07:55:15

标签: asp.net wcf web-services wsdl

这可能是一个非常简单的问题,但我找不到答案:

对于客户端,我需要提供Web服务。客户端向我发送了一个web服务应该“实现”的wsdl文件。我该怎么做?我已经生成了任意数量的客户端rpoxies,但这是另一种方式。我可以使用ASP.NET 2.0 Web服务或Windows Communication Foundation。

4 个答案:

答案 0 :(得分:15)

wsdl.exe /server

  

为XML生成抽象类   基于合同的Web服务。   默认是生成客户端   代理类。使用时   / parameters选项,这个值是一个    包含的元素   “服务器”。

您可以使用svcutil.exe为WCF做类似的事情,例如:

svcutil.exe thewsdl.wsdl / language:c#/out:ITheInterface.cs(我没有测试过这个)。

编辑 - 约翰·桑德斯(John Saunders)在回答WCF方法时提出了一个很好的观点 - 我也建议这样做。

答案 1 :(得分:14)

实际上,您应该使用svcutil.exe执行此操作,而不是使用wsdl.exe执行此操作。 WSDL.EXE是ASMX Web服务技术的一部分,Microsoft现在认为它是“遗留”代码,不会修复错误。

答案 2 :(得分:2)

您可以使用该WSDL(wissd'le)文件做很多事情。

从WS类手动开始使用wsdl.exe中的自动生成

想象,对于您的示例,您有WDSL(取自WebServiceX.Net


创建一个C#自动生成的代理,转到命令提示符并写下:

wsdl /language:cs /protocol:soap /out:C:\myProxyScripts http://www.webservicex.net/TranslateService.asmx?wsdl

注意:在你的C:\ Program Files \ Microsoft SDKs \ Windows \ v6.1 \ Bin文件夹中你会找到wsdl.exe或只是在你的C:\ Program中做一个dir / s文件\

如果你想要 Visual Basic ,只需使用 / language:vb / l:vb

  

/语言:       用于生成的代理类的语言。从'CS'中选择,       'VB','JS','VJS','CPP'或为实现System.CodeDom.Compiler.CodeDomProvider的类提供完全限定名称。

     

默认值       语言是'CS'(CSharp)。简称是'/ l:'。

此命令将在C:\ myProxyScripts中放入自动生成的代理。

如果您使用计算机中的 WSDL文件,只需将网址更改为完整路径,例如

wsdl /language:cs /protocol:soap /out:C:\myProxyScripts C:\myProxyScripts\myWsdlFile.wsdl

注意:您的生成代理将被称为服务名称,您在我们的示例中指定的代码为:

<wsdl:service name="TranslateService">

我希望这可以帮助您,理解WSDL,自动生成的代理,并且您现在可以管理最终的所有内容以满足您的客户需求。

答案 3 :(得分:0)

您可以使用microsoft的wsdl实用程序生成服务器接口并实现它们

以下是WSDL实用程序的简短描述。

  

wsdl.exe -       用于为xml Web服务客户端和xml Web生成代码的实用程序   服务       从WSDL合同文件,XSD架构和.discomap使用ASP.NET       发现文件。此工具可与disco.exe结合使用。