JAXB javax.xml.bind.PropertyException

I get the error below when I try to read an XML file with several Japanese characters.

javax.xml.bind.PropertyException: jaxb.encoding at javax.xml.bind.helpers.AbstractUnmarshallerImpl.getProperty(AbstractUnmarshallerImpl.java:360) at com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallerImpl.getProperty(UnmarshallerImpl.java:423) at com.jaxb.JAXBTest.main(JAXBTest.java:23) enter code here 

com.jaxb package

 import java.io.FileReader; import javax.xml.bind.JAXBContext; import javax.xml.bind.Marshaller; import javax.xml.bind.Unmarshaller; public class JAXBTest { public static void main(String args[]) { try { JAXBContext context = JAXBContext.newInstance(com.pain.jaxb.ver2.Document.class); Unmarshaller um = context.createUnmarshaller(); um.setProperty(Marshaller.JAXB_ENCODING, "UTF-8"); com.pain.jaxb.ver2.Document PainTransferList2 = (com.pain.jaxb.ver2.Document) um.unmarshal(new FileReader("C:/WorkArea/JAXB/src/com/pain/messages/APXSEPAS_510812_1.XML")); } catch(Exception e) { e.printStackTrace(); } } } 

Please advice.

Thanks Rafi

+6
source share
1 answer

You set the Marshaller property to Umarshaller :

 Unmarshaller um = context.createUnmarshaller(); um.setProperty(Marshaller.JAXB_ENCODING, "UTF-8"); 

You can only set Unmarshaller properties on Unmarshaller .

Remove setProperty and try again.

+5
source

Source: https://habr.com/ru/post/895665/


All Articles