2011-02-14 207 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

相關問題