我们必须将我们的项目与后端Oracle平台集成。这个集成通过各种Web服务。我拥有所有这些集成的所有WSDL和XSD。我需要从这些WSDL产生DataContracts XSDs。
现在的问题是,大多数这些集成共享一些常见的数据类型。我想重复使用它们。
e.g,使用XSD中的确切名称空间生成DataContracts
Integration1: oracle/common/commonDataTypes.xsd oracle/integration1/someXSD.xsd oracle/ebo/baseTypes.xsd Integration2: oracle/common/commonDataTypes.xsd oracle/integration2/someXSD.xsd oracle/ebo/baseTypes.xsd Integration3: oracle/commonDataTypes.xsd oracle/integration2/someXSD.xsd oracle/ebo/baseTypes.xsd
在这种情况下,我想重用到目前为止,我已经试过WSCF.blue & WSCF integration1 &之间2.
的oracle.common.CommonDataTypes。但是这些工具会在单个文件夹(和单个命名空间)中生成所有代码,而不是遵循命名空间。
我想要在名称空间下生成类,如oracle,oracle.commonData,oracle.integration1,oracle.ebo等 所以生成Datacontracts的任何方式都遵循XSD具有的确切名称空间表示法?
/r在svcutil中的标志对我很有用。但是,对于每个集成,大约有500个类正在生成。所以我不可能手动更改这些类。另外,不建议修改自动生成的类。 – 2011-05-19 00:24:17
我同意如果源协议经常更改,修改生成的文件并不明智。但是,当你调用Oracle服务时,我不认为情况会如此。所以这样做是安全的。这是一次性练习,虽然它可能很耗时,但一旦完成,它就完成了。我不知道还有什么其他的解决方案。 – 2011-05-20 15:06:07