我正在嘗試使用RSA 7.5和Websphere 7服務器開發IBM JAX_WS Web服務。由於我是初學者,因此我遵循Java類的第一種方法,即先創建Java類,然後生成WSDL文件。IllegalAnnotationsException:類有兩個同名的屬性
當我嘗試創建WSDL文件,我得到一個例外:
java.security.PrivilegedActionException:com.sun.xml.internal.bind.v2.runtime.IllegalAnnotationsException:1個IllegalAnnotationsException計數 類具有相同的名稱「planId」的兩個屬性
我這裏refered類看起來是這樣的:
public class MemberDetails{
@XMLElement(required=true)
private String planId;
//public getters and setters for the planId;
}
我沒有任何想法像爲什麼會發生這種異常。通過谷歌搜索我嘗試了一些替代品來解決它,但他們沒有爲我工作:(
注:
這是我使用的整個我的工作區唯一的註解,我不知道如果這但是我嘗試了一些例如@XMLElement(name =「Plan」,required = true),@XMLType等,但是每次我得到這個異常時
這個異常發生在wsgen期間(java.lang.reflect.InvocationTargetException)
編輯
基本上,當我們創建Java服務方法的WSDL和打開SOAP的用戶界面,WSDL,那麼,我們在每一個環節都得到最高<!--Optional-->
。我想刪除此選項標記<!--Optional-->
標記,因此我正在嘗試@XMLElement(required = true)方法,以便當我在SOAP UI中打開WSDL時<!--Optional-->
不會顯示爲強制元素。
根據我的理念,@XMLElement(required = true)會將minOccurs設置爲1,即大於零,因此當我在SOAP UI中打開它時,可選註釋將從WSDL中刪除。但不幸的是它不工作,因此我的概念是不正確的。 WSDL生成後,我可以看到minOccurs仍然是0.
請解釋當我在SOAP UI中打開WSDL時如何刪除可選標記。
問候,
感謝您的迴應。按照你的建議,WSDL的創建沒有任何wsgen異常。但是我的目標沒有實現。我已經編輯了我的上述帖子來描述我想要達到的目的。請看第一篇文章的編輯部分和幫助。 – user182944
很好地解釋了。 – lwpro2