gpt4 book ai didi

java - WCF - 重用另一个服务引用中的类型

转载 作者:太空宇宙 更新时间:2023-11-04 14:10:49 27 4
gpt4 key购买 nike

我们有两个用 java 编写的 Web 服务服务器:

  • 核心服务
  • 扩展服务。

ExtensionService 引用 CoreService 并重用类型。

同样,我们有两个客户端库:

  • CoreClient 具有对 CoreService 的服务引用
  • ExtensionClient 带有对 ExtensionService 的服务引用

我希望 ExtensionClient 重用 CoreClient 生成的类型。如果 ExtensionClient 生成自己的“核心”类,我就无法重用 CoreClient 中的业务逻辑,因为 CoreClient 与 ExtensionClient 一样使用不同的类。

我可以手动编写 CoreClient 数据契约。 如何强制 ExtensionClient 重用 CoreClient 中的类

最佳答案

按照描述使用带有/r 标志的 svcutil.exe here为 ExtensionService 生成客户端代理,并传入 CoreService dll 作为参数。

但是,您需要注意 svcutil.exe 使用 DataContractSerializer 来帮助生成代码,不幸的是,它有一个相当的 strict set of rules当涉及到解析您的服务契约(Contract)时。

因此,除非您维护 XSD 时遵守这组规则,否则 svcutil.exe 将切换为使用 XmlSerializer,它不支持/r 标志(或重复使用)。因此您将无法重用类型。

关于java - WCF - 重用另一个服务引用中的类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28341090/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com