这可能是一个非常简单的问题,但我找不到答案:
我需要主机一个webservice来为客户提供服务。客户已经发送了一份wsdl文件,这个 webservice 应该“实现”它。我该如何操作呢?我已经生成了很多客户端代理,但这是另一个方法。我可以使用ASP.NET 2.0 webservices 或者 Windows Communication Foundation。
这可能是一个非常简单的问题,但我找不到答案:
我需要主机一个webservice来为客户提供服务。客户已经发送了一份wsdl文件,这个 webservice 应该“实现”它。我该如何操作呢?我已经生成了很多客户端代理,但这是另一个方法。我可以使用ASP.NET 2.0 webservices 或者 Windows Communication Foundation。
基于契约生成一个XML Web服务的抽象类。默认为生成客户端代理类。使用 /parameters 参数选项时,该值是包含“server”的 element。
您可以使用 svcutil.exe 来完成与 WCF 相关的类似操作,像这样:
svcutil.exe thewsdl.wsdl /language:c# /out:ITheInterface.cs(我没有测试过此命令)。
编辑 - John Saunders 在他的回答中提出了一个很好的观点,支持 WCF 方法-我也推荐这样做。
实际上,你应该使用svcutil.exe来完成这个任务,而不是使用wsdl.exe。WSDL.EXE是ASMX web服务技术的一部分,微软现在认为它是“遗留”代码,将不会修复其中的错误。
wsdl /language:cs /protocol:soap /out:C:\myProxyScripts http://www.webservicex.net/TranslateService.asmx?wsdl
wsdl /language:cs /protocol:soap /out:C:\myProxyScripts C:\myProxyScripts\myWsdlFile.wsdl
<wsdl:service name="TranslateService">
/server
,现在最好使用 /serverInterface
(并实现它)。服务器开关已被弃用,请改用 /serverInterface
。 - rasputino你可以使用微软的wsdl实用工具来生成服务器接口并实现它们。
以下是WSDL实用工具的简要说明。
wsdl.exe - 实用工具,可从WSDL合同文件、XSD模式和.discomap发现文档中为XML Web服务客户端和XML Web服务生成代码。此工具可与disco.exe配合使用。