我们有几个.Net webservices,我们使用java客户端。每个web服务都有自己的命名空间,但它们都使用了大量的公共类。当它们作为WSDL公开,然后生成为Java代码时,我们在相同的.Net类的Java中获得了大量重复。
.Net中有没有办法定义一组要在共享命名空间下导出的WebService对象(在XML中)?或者我们可以在Java中使用wsimport来生成每个重复类的一个实例吗?
答案 0 :(得分:0)
从服务方面来看,其中一个选项可能是使用特制的单一WSDL来描述所有服务。请参阅this article了解如何操作(适用于asmx服务)。
另外,对于.NET客户端,使用带有sharetypes选项的wsdl工具非常简单,可以生成一次生成的常用类型,并在多个服务代理中重复使用。希望java客户端可能存在类似的工具/选项。
答案 1 :(得分:0)
wsimport的-p
选项允许您将WSDL中指定的命名空间覆盖到您指定的包。如果为每个WSDL指定相同的包,则最终只能得到每个类的一个实例。