Ho un pacchetto con classi annotate JAXB con una superclasse astratta. Voglio utilizzare questa superclasse nell'interfaccia del servizio web, quindi I può passare qualsiasi sottoclasse come parametro. Quando lo faccio, viene generata un'eccezione:Java Web Services/JAXB - Superclasse astratta
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]]
E 'possibile manualmente Marshall/unmarshall & parametro passaggio come una stringa, ma vorrei evitarlo. Qualche idea su come farlo?
non so molto di JAXB, ma ci deve essere un motivo, perché non è possibile creare alcuna istanza. Xxx.yyy.ZZZ è un costruttore pubblico senza argomenti? –
'xxx.yyy.ZZZ' è il nome di una superclasse astratta dell'oggetto reale che è stata sottoposta a marshalling. La cosa brutta è che quando unmarshalling, jaxb tenta di istanziare questa superclasse invece della classe effettiva dell'oggetto che viene passato. –
È xxx.yyy.ZZZ nel sistema/classpath che sta tentando di annullare la chiamata? – fish