这可能是一个非常简单的问题,但我找不到答案:
对于客户端,我需要提供Web服务。客户端向我发送了一个web服务应该“实现”的wsdl文件。我该怎么做?我已经生成了任意数量的客户端rpoxies,但这是另一种方式。我可以使用ASP.NET 2.0 Web服务或Windows Communication Foundation。
答案 0 :(得分:15)
为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结合使用。