Мне нужно маршалловать следующий класс;
@XmlRootElement(name = "SYSMessage")
@XmlAccessorType(XmlAccessType.FIELD)
public class Message<T> {
@XmlPath("Personel")
private Personel personel;
@XmlPath("AccountType")
private T accountType;
...
Так что в производстве я установил класс универсального типа учетной записи с некоторым объектом с именем "DebitAccount". Я должен использовать универсальный тип, потому что debitAccount будетизменить много раз.
Message<DebitAccount> msg = new Msg<>();
DebitAccount dAccount= new DebitAccount();
msg.setAccountType(dAccount);
и когда я упорядочил класс Message, я получил следующий xml-результат в качестве типа учетной записи;... org.demo.blabla.DebitAccount@123123 ...
В классе DebitAccount;
@XmlRootElement
@XmlAccessorType(XmlAccessType.FIELD)
public class DebitAccount{
@XmlPath("ID")
private String id;
@XmlPath("Visa")
private String visaNo;
Я выяснил, что это происходит из-за стирания типа,Мокси просто не может понять, что мой объект - DebitAccount. Таким образом, он обрабатывает объект как строку. Как я могу заставить moxy понимать мой составной объект.