生成从WSDL
web服务这也许是一个非常简单的问题,但我无法找到一个答案:生成从WSDL
对于客户端,我需要HOST一个web服务。客户端发给我一个wsdl文件,web服务应该'执行'。我该如何解决这个问题?我已经生成了任意数量的客户端 - 恶意软件,但这是相反的。我可以同时使用ASP.NET 2.0 webservices或Windows Communication Foundation。
生成一个抽象类,基于合同的XML Web服务。 默认为生成客户端 代理类。当使用 /参数选项时,该值是包含 “服务器”的 元素。
你可以做svcutil.exe的类似的事情WCF-类似:
svcutil.exe的thewsdl.wsdl /语言:C#/out:ITheInterface.cs(我没有测试这个) 。
编辑 - 约翰桑德斯在他的回答中赞成WCF方法的好处 - 我也推荐这一点。
您可以使用WSDL工具从微软到生成服务器的接口和实现这些
这里是WSDL实用的简短说明。
Wsdl.exe用 - 实用程序生成的XML Web服务客户端代码和XML Web使用ASP.NET从WSDL文件合同,XSD架构 服务 和.discomap 发现文件。该工具可以与disco.exe一起使用。
你可以用这个WSDL(wissd'le)文件做很多事情。
从手工做的WS类使用自动生成的类从Wsdl.exe用
咱们想象为你的榜样,你有,这WDSL(从WebServiceX.Net tooked)
到创建一个C#自动生成的代理您转到您的命令提示符并编写:
wsdl /language:cs /protocol:soap /out:C:\myProxyScripts http://www.webservicex.net/TranslateService.asmx?wsdl
注意:\ Program Files文件\微软的SDK \的Windows \ V6.1 \ Bin文件夹,你会发现WSDL:你的C内。EXE或只是做一个DIR/S的内部C:\ Program Files文件\
如果你想Visual Basic中,只是用/语言: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,自动生成的代理,并且你现在可以管理你的一切,以满足你的客户的愿望。
实际上,您应该使用svcutil.exe而不是wsdl.exe来做到这一点。 WSDL.EXE是Microsoft现在认为是“遗留”代码的ASMX Web服务技术的一部分,该代码不会修正错误。
为现有的类生成WSDL =“自下而上的策略”与现有的WSDL =“自上而下的策略”(Wikipedia)生成类骨架 – JohnB 2012-08-10 00:47:21