我有一个带有抽象超类的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