Tengo un paquete con clases anotadas JAXB con una superclase abstracta. Quiero utilizar esta superclase en la interfaz del servicio web, por lo que I puede pasar cualquiera de las subclases como parámetro. Cuando lo hago, se produce una excepción:Java Web Services/JAXB - Superclase abstracta
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]]
Es posible manualmente Marshall/Resolver referencia & parámetro pase como una cadena, pero me gustaría evitarlo. ¿Alguna idea de como hacerlo?
no sé mucho sobre JAXB, pero debe haber una razón, por qué no se puede crear ninguna instancia. ¿Tiene xxx.yyy.ZZZ un constructor público sin argumento? –
'xxx.yyy.ZZZ' es el nombre de una superclase abstracta del objeto real que se ha ordenado. Lo malo es que, al desasociar, jaxb intenta crear una instancia de esta superclase en lugar de la clase real del objeto que se pasa. –
¿Está xxx.yyy.ZZZ en el sistema/classpath que intenta deshacer la llamada? – fish