多个Web服务中的相同对象导致重复的类

时间:2011-01-13 07:51:57

标签: c# java web-services

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

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

2 个答案:

答案 0 :(得分:0)

从服务方面来看,其中一个选项可能是使用特制的单一WSDL来描述所有服务。请参阅this article了解如何操作(适用于asmx服务)。

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

答案 1 :(得分:0)

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