我有一个旧的WSDL文件,我想基于这个WSDL文件创建一个服务器。
WSDL是从ASMX生成的(我想是的,但我不确定)。
我如何才能做到这一点?
original question,操作员认为他需要基于WSDL创建客户端。
发布于 2009-06-04 13:29:23
使用svcutil,您可以从WSDL创建接口和类(数据契约)。
svcutil your.wsdl (or svcutil your.wsdl /l:vb if you want Visual Basic)
这将在C#中创建一个名为"your.cs“的文件(或在VB.NET中创建一个名为"your.vb”的文件),其中包含所有必需的项。
现在,您需要创建一个将实现服务接口(IServiceInterface)或多个服务接口的类"MyService“,这就是您的服务器实例。
现在,类本身并没有真正的帮助--你需要在某个地方托管这个服务。您需要创建自己的ServiceHost实例来托管服务、配置端点等,或者您也可以在IIS中托管您的服务。
发布于 2010-11-17 08:04:19
使用带有/sc
开关的WCF来生成svcutil.exe契约。这将创建一个代码文件,您可以将其添加到项目中。它将包含创建服务所需的所有接口和数据类型。使用/o
开关更改输出位置,也可以在运行svcutil.exe的文件夹中找到该文件。默认语言是C#,但我认为(我从未尝试过)您应该能够使用/l:vb
更改它。
svcutil /sc "WSDL file path"
如果您的WSDL具有任何支持XSD文件,则在WSDL之后将这些文件作为参数传递。
svcutil /sc "WSDL file path" "XSD 1 file path" "XSD 2 file path" ... "XSD n file path"
然后创建一个作为服务的新类,并实现您刚刚创建的contract接口。
发布于 2009-06-04 13:32:04
您可以使用svcutil.exe生成客户端代码。这将包括服务契约的定义以及所需的任何数据契约和错误契约。
然后,只需删除客户端代码:实现服务契约的类。然后,您需要在您的服务中自己实现它们。
https://stackoverflow.com/questions/950150
复制相似问题