Wcf 如果模式(svcutil模拟)不满足DataContractSerializer要求,则使用哪些工具从模式生成服务代码

Wcf 如果模式(svcutil模拟)不满足DataContractSerializer要求,则使用哪些工具从模式生成服务代码,wcf,xsd,wsdl,code-generation,svcutil.exe,Wcf,Xsd,Wsdl,Code Generation,Svcutil.exe,我们正在进行SOA工作,包括客户端(Silverlight)和服务器端(WCF),但有可能由第三方(.NET、Java等)实现客户端。我们使用WSDL优先的方法,希望在构建过程中从模式自动生成数据和服务接口类(C#)。因此,我们需要不为每个服务重新生成公共数据类代码才能成功编译 我尝试了svcutil实用程序,试图首先使用/dataContractOnly开关从XSD创建所有数据协定类,并将它们编译到单独的类库(第一阶段)。然后使用/reference开关创建每个服务接口代码,省略库中已有的类,

我们正在进行SOA工作,包括客户端(Silverlight)和服务器端(WCF),但有可能由第三方(.NET、Java等)实现客户端。我们使用WSDL优先的方法,希望在构建过程中从模式自动生成数据和服务接口类(C#)。因此,我们需要不为每个服务重新生成公共数据类代码才能成功编译

我尝试了svcutil实用程序,试图首先使用/dataContractOnly开关从XSD创建所有数据协定类,并将它们编译到单独的类库(第一阶段)。然后使用/reference开关创建每个服务接口代码,省略库中已有的类,这是第二阶段

问题是我们的模式不满足DataContractSerializer要求,因此svcutil无法创建数据类。即使为此使用了xsd实用程序,我也无法在第二阶段使用svcutil的/reference开关,因为此开关仅适用于DataContract类。xsd实用程序生成的类并非如此

那么,在我的情况下,这些工具是否遗漏了什么,是否有任何方法可以使用它们,或者是否有任何其他工具可以从XSD和WSDL模式生成数据类和服务接口,以防多个服务接口使用公共数据类型?或者我们应该尽量使用与DataContract兼容的模式来限制自己?您使用什么方法进行WSDL第一次开发?

codeplex是否尝试过? blue是一个工具集,它使用契约优先(特别是模式优先)方法促进web服务的开发。这是原始Web服务契约第一工具的WCF版本

此外,还有一篇关于合同优先开发的漂亮文章:

是的,WSCF.Blue是一个随附的VS插件,但是源代码是可用的,因此它可以像我们必须做的那样重新构建为命令行界面版本,而我可能需要添加很少的工作。

谢谢amit!我将尝试一下WSCF.blue工具集,并将结果写在这里。还感谢文章的链接,它很有用。据我所知,WSCF.blue不支持命令行界面,不能用于在构建过程中自动生成代码。