【问题标题】:Same object in multiple webservices result in duplicate classes多个 Web 服务中的相同对象导致重复的类
【发布时间】:2011-01-13 07:51:56
【问题描述】:

我们有几个使用 Java 客户端的 .Net Web 服务。每个 Web 服务都有自己的命名空间,但它们都使用了很多非通用类。当这些作为 WSDL 公开,然后生成为 Java 代码时,我们会在 Java 中获得大量相同 .Net 类的重复项。

.Net 中有没有一种方法可以定义一组要在共享命名空间下导出的 WebService 对象(在 XML 中)?或者当我们在 Java 中使用 wsimport 来生成每个重复类的一个实例时,我们可以吗?

【问题讨论】:

    标签: c# java web-services


    【解决方案1】:

    在服务方面,一种选择可能是使用特制的单个 WSDL 来描述所有服务。操作方法见this article(适用于asmx服务)。

    附带说明,对于 .NET 客户端,使用带有 sharetypes 选项的 wsdl 工具非常简单,可以一次性生成通用类型并在多个服务代理之间重复使用。希望 java 客户端可能存在类似的工具/选项。

    【讨论】:

      【解决方案2】:

      wsimport-p 选项允许您将 WSDL 中指定的命名空间覆盖到您指定的包中。如果您为每个 WSDL 指定相同的包,您最终只会得到每个类的一个实例。

      【讨论】:

        猜你喜欢
        • 2020-12-21
        • 2022-06-24
        • 1970-01-01
        • 2013-12-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-03-03
        相关资源
        最近更新 更多