Вот мой метод, в котором я пытаюсь преобразовать xmlt в объект карты и наоборот.Преобразование объекта xml в карту работает для меня, но я получаю ошибку при преобразовании объекта карты в xml (см. код ниже).
public client XMLtoclient(String filename) throws Exception {
JAXBContext jaxbContext = JAXBContext.newInstance(client.class);
Unmarshaller jaxbUnmarshaller = jaxbContext.createUnmarshaller();
client client = (client) jaxbUnmarshaller.unmarshal(
new File("C://Users//dasso//Desktop//Migration_XML//New folder/client_configuration_CMG.xml"));
System.out.println(client);
ObjectMapper oMapper = new ObjectMapper();
@SuppressWarnings("unchecked")
Map<String, Object> map = oMapper.convertValue(client, Map.class);
System.out.println("map" + map);
map.replace("client_id", "JHKANNU", "1111");
System.out.println("Updated map" + map);
// converting map to xml
Ошибка сброса кода ниже.Кто-то, не могли бы вы помочь мне выяснить причину ошибки ниже, так что это будет полезно для меня.Спасибо
JAXBContext jaxbContext1 = JAXBContext.newInstance(client.class);
Marshaller jaxbMarshaller = jaxbContext1.createMarshaller();
//Convert map to xml
jaxbMarshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);
jaxbMarshaller.marshal(map, System.out);
jaxbMarshaller.marshal(map,
new File("C://Users//dasso//Desktop//Migration_XML//New folder/client_configuration_CMG.xml"));
return client;
}
Ниже находится консоль, здесь я сталкиваюсь с проблемой
javax.xml.bind.JAXBException: class java.util.LinkedHashMap nor any of its super class is known to this context.
at com.sun.xml.internal.bind.v2.runtime.JAXBContextImpl.getBeanInfo(JAXBContextImpl.java:567) ~[na:1.8.0_151]
at com.sun.xml.internal.bind.v2.runtime.XMLSerializer.childAsRoot(XMLSerializer.java:467) ~[na:1.8.0_151]
at com.sun.xml.internal.bind.v2.runtime.MarshallerImpl.write(MarshallerImpl.java:308) ~[na:1.8.0_151]
at com.sun.xml.internal.bind.v2.runtime.MarshallerImpl.marshal(MarshallerImpl.java:236) ~[na:1.8.0_151]
at javax.xml.bind.helpers.AbstractMarshallerImpl.marshal(AbstractMarshallerImpl.java:95) ~[na:1.8.0_151]
at com.migration.ConfigMigration.services.MigrationXmlService.XMLtoclient(MigrationXmlService.java:199) ~[classes/:na]
at com.migration.ConfigMigration.services.MigrationXmlService.xmltest(MigrationXmlService.java:173) ~[classes/:na]
at com.migration.ConfigMigration.controller.MigrationXmlController.xmltest(MigrationXmlController.java:55) ~[classes/:na]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_151]
at
2019-04-10 12:23:58.395 WARN 8680 --- [nio-8080-exec-1] .w.s.m.s.DefaultHandlerExceptionResolver : Resolved [org.springframework.web.HttpMediaTypeNotAcceptableException: Could not find acceptable representation]