2011-02-14 137 views
7

当我尝试在RAD中发布我的Workspace时,出现此错误“两个类具有相同的xml类型名称”,可能是因为同一个包中存在相同的类名,但在两个不同的罐子。而且似乎@XmlType注释需要在这些类的源中为其属性名称和名称空间具有不同的值。我尝试了Apache CXF中提供的wsdl2java,但我无法使其生成此名称空间属性。我试着摆弄-p包选项,但这只是将生成的源文件放在指定的包中。两个类具有相同的xml类型名称

任何想法如何为wsdl中遇到的每个元素生成此名称空间属性? TIA。

回答

1

我遇到了一个名为“SubmitDataResponse”的对象,该对象用作我的名为“submitData”的Web服务方法的返回对象。当我尝试重命名对象时,错误消失了。在我看来,CXF正在基于方法名称创建自己的返回对象(本例中为submitData() - >“SubmitDataResponse”)。你可能想尝试重新命名这个类,看看你是否有同样的问题。也许有人可以用一种方式让我们的班级以我们希望他们的方式命名(可能带有一些注释)。

我希望这会有所帮助。

+0

后续操作:我添加了@XmlType(namespace =“com .company.example“)到我原来的返回对象类,它的工作。所以我不需要重命名我的返回对象类,只要我使用XmlType.namespace注释。 – HawkeyeFan 2011-03-21 20:53:06

+0

HawkeyeFan,谢谢你的回答,但是,不,这不是我面临的问题。这是关于两个有两个相同包名的罐子的课程。最终,我必须删除其中一个并与之共存。是的,命名空间属性似乎可以解决这个问题,但是wsdl2java可以生成它吗?也许我需要指定/配置一些东西? – asgs 2011-03-21 20:55:54

相关问题