L’eccezione com.sun.istack.SAXException2: impossibile eseguire il marshalling del tipo come elemento poichè manca un’annotazione @XmlRootElement capita quando si prova a fare il marshalling di un oggetto non annotato come root element.
Per risolvere questo problema basta annotare l’elemento con la annotation @XmlRootElement
E’ la soluzione più semplice ma se le classi sono ottenute in modo automatico, magari tramite un plugin maven ad ogni iterazione si presenta nuovamente il problema.
In questo caso vi viene in soccorso la classe ObjectFactory generata dal plugin che vi offre dei metodi create* che restituisco l’oggetto annidato dentro il wrapper JAXBElement e il gioco è fatto.
JAXBElement createTrasferimentoDati = new ObjectFactory().createTrasferimentoDati(trasferimentoDati);