编译共享公共模式的多个WSDL

我有两个网络服务。 两者都是由应用程序实现的,因此有一些共同的对象。 我有一个使用两个web服务的GWT前端。 在这里,当我使用maven wsimport生成webserive类时。 我在两个不同的包中得到了这些相同类的副本。 我不想创建这些类的重复项。 所以创建了这些类的绑定。 但每次Web服务发生任何变化时。 我已经调整了绑定中定义的类,我想避免。

我的问题是。 有没有更好的方法来处理这些常见的类?

完全可以在两个或多个Web服务上使用公共bean。 您只需要在两个服务导入的xsds中声明您的类型。 例如,考虑这个名为Common.xsd的xsd,它包含某些服务的公共类型

                

现在,对于类型Address,将使用完全限定名称com.foo.ws.common.Address生成单个类

为了完整起见,请考虑以下服务返回一个地址(为简单起见,输入未指定)。

                                             

IIRC有一个非常好的Spring资源,用于合同优先的Web服务,您可能需要检查。