如果模式不符合DataContractSerializer的要求,可以使用哪些工具从模式(svcutil analogue)生成服务代码

时间:2010-12-02 16:49:06

标签: wcf xsd wsdl code-generation svcutil.exe

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

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

问题是我们的模式不符合DataContractSerializer要求,因此svcutil无法创建数据类。即使在我使用 xsd 实用程序之后,我也无法在第二阶段使用svcutil / reference开关,因为此开关仅适用于DataContract类。 xsd实用程序生成的类不是这种情况。

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

2 个答案:

答案 0 :(得分:1)

您是否尝试过codeplex WCF.blue tool WSCF.blue是一个工具集,它首先使用契约(特别是架构优先)方法来促进Web服务的开发。这是原始Web服务合同优先工具的WCF版本。

此外,还有一篇关于契约优先发展的精彩文章: http://msdn.microsoft.com/en-us/magazine/ee335699.aspx

答案 1 :(得分:1)

是的WSCF.Blue是一个VS插件,但它的源码可用,因此它可以重建为命令行界面版本,就像我们必须做的那样,我可能需要付出很少的努力。

相关问题