我们正在开发一个拥有几十个服务接口的大型应用程序。对于每个服务,使用jaxws-maven-plugin插件中的wsgen生成一个wsdl。在每个wsdl中,使用不同的命名空间来区分每个服务。
这些服务接口共享一组常见的bean(主要是DTO)。目前,这些常见类的定义在每个wsdl的XSD中都有重复,这给客户端带来了问题(巨大的编译时间,类不兼容等)。
首先,我尝试使用schemagen为常见类创建模式,但无法将其传递给wsgen。有没有办法将一个(或多个)公共XSD传递到wsgen,并让生成的wsdl引用它们?
我还尝试使用@XmlRootElement注释常见类,指定自定义命名空间:这一次,wsgen识别了自定义命名空间,并为每个wsdl生成了一个额外的XSD,但没有在任何地方包含单个(公共的)xsd。
有人能为我指出解决这个问题的方法吗?
这些服务接口共享一组常见的bean(主要是DTO)。目前,这些常见类的定义在每个wsdl的XSD中都有重复,这给客户端带来了问题(巨大的编译时间,类不兼容等)。
首先,我尝试使用schemagen为常见类创建模式,但无法将其传递给wsgen。有没有办法将一个(或多个)公共XSD传递到wsgen,并让生成的wsdl引用它们?
我还尝试使用@XmlRootElement注释常见类,指定自定义命名空间:这一次,wsgen识别了自定义命名空间,并为每个wsdl生成了一个额外的XSD,但没有在任何地方包含单个(公共的)xsd。
有人能为我指出解决这个问题的方法吗?