【问题标题】:Multiple Java service refer same data contracts. WCF client generate duplicate data contracts for shared data contracts多个 Java 服务引用相同的数据协定。 WCF 客户端为共享数据合同生成重复数据合同
【发布时间】:2012-03-16 00:35:53
【问题描述】:

WCF 客户端正在为多个 Java 服务中使用的共享数据合约生成不同命名空间下的重复数据合约。

示例:2 Java 服务使用 shared.xsd 这个模式定义了大约 1000 个复杂和简单的类型。
1。 Booking Service 使用两种模式
一个。 Booking.xsd
b. shared.xsd

2。票务服务使用两种模式
a。 Ticketing.xsd
b. shared.xsd

当我在 Visual Studio 中为这两个服务添加服务引用时,Shared.xsd 中定义的数据协定是在提供的命名空间下创建的。

例如,Person 类被定义了两次,一次在 Foo.BookingService 命名空间中,同样在 Foo.TicketingService 命名空间中。

有没有办法,我可以指定一个命令选项或通过 Visual Studio 指定它应该重用 Shared.xsd 数据合同并且不应该重新生成。

【问题讨论】:

    标签: asp.net wcf wcf-client


    【解决方案1】:

    尝试使用 svcutil.exe 生成符合 XML 序列化程序格式的 .NET 数据合同类型。例如

    svcutil.exe /target:code /dataContractOnly /serializer:XmlSerializer /importXmlTypes [你的 xsd 文件路径]

    【讨论】:

    • 感谢 Hari,在提取数据合同后。然后我如何在没有先前提取的 dataContract 的情况下生成代理客户端。执行上述代码后,我应该执行 svcutil booking.wsdl .... 如果我不指定 xsd,则会引发错误。感谢您对此的回应
    猜你喜欢
    • 1970-01-01
    • 2011-01-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-20
    • 1970-01-01
    • 1970-01-01
    • 2023-03-10
    相关资源
    最近更新 更多