Jaxb complex xml unmarshall

У меня проблемы с демаршализацией вложенного xml ниже. Может кто-нибудь посоветовать, если мне что-то не хватает.
Тег body может содержать любой аннотированный объект Jaxb.
Должен ли я создавать собственный адаптер для маршалинга / демаршалинга такого XML?

Входной XML

<?xml version="1.0" encoding="UTF-8"?>
<serviceRq xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="serviceRq">
  <body>   
    <createRq>
       <id>1234</id>
    </createRq>
  </body>
</serviceRq>

Мои классы с аннотациями Jaxb:

@XmlRootElement
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "serviceRq")
public class ServiceRq{    
    private Object body;
    <!-- getters and setters omitted-->
}

Здесь телом может быть любой аннотированный объект jaxb, в данном случае CreateRq.

@XmlRootElement
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "createRq")
public class CreateRq{    
    private String id;
    <!-- getters and setters omitted-->
}

Я ищу общий способ поддержки любого аннотированного объекта Jaxb в теле входного xml.

5
задан Charles Follet 6 January 2017 в 11:54
поделиться