我有一個帶有抽象超類的JAXB註釋類的包。我想在Web服務接口中使用這個超類,所以我可以通過任何一個子類作爲參數。當我這樣做,則拋出異常:Java Web服務/ JAXB - 抽象超類
javax.xml.ws.WebServiceException: javax.xml.bind.UnmarshalException
- with linked exception:
[javax.xml.bind.UnmarshalException: Unable to create an instance of xxx.yyy.ZZZ
- with linked exception:
[java.lang.InstantiationException]]
它可以手動馬歇爾/解組&通參數爲一個字符串,但我想,以避免它。任何想法如何做到這一點?
對JAXB並不瞭解,但必須有一個原因,爲什麼不能創建實例。有xxx.yyy.ZZZ一個公共無參數構造函數嗎? – 2010-04-22 07:55:23
'xxx.yyy.ZZZ'是已編組的實際對象的抽象超類的名稱。壞消息是,在解組時,jaxb試圖實例化這個超類,而不是被傳遞的對象的實際類。 – 2010-04-22 08:26:01
在試圖解除調用的系統/類路徑中是xxx.yyy.ZZZ嗎? – fish 2010-04-22 09:24:26