Невозможно десериализовать java.lang.Object в Джерси при получении его с сервера. - PullRequest
0 голосов
/ 01 апреля 2019

Я пытаюсь получить объект с сервера, используя отдых на Джерси. Поэтому я отправляю объект GenericResponse, содержащий GenericHeader и GenericObject. Все хорошо, пока я не пытаюсь получить объект от Response. Так что я могу получить сообщение от GenericHeader, но не GenericObject. и я получаю java.lang.ClassCastException: java.util.HashMap не может быть приведен к Object. независимо от того, что я использую json / xml

ОБНОВЛЕНИЕ: я возвращаю объект только с xml, и то же исключение для json. Stack-Trace: https://pastebin.com/8wqFwjeW

import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;

@XmlRootElement
public class GenericResponse {

    private GenericHeader genericHeader;
    private GenericObject genericObject;

    // setters, getters -> @XMLElement annotated
}



import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;

@XmlRootElement
public class GenericHeader {

    private String message;

    // setters, getters -> @XMLElement annotated
}


import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;

@XmlRootElement
public class GenericObject {

    private Object object;

    // setters, getters -> @XMLElement annotated


}

Клиентский звонок:

GenericResponse genericResponse = client.target("URL")          
    .request(MediaType.APPLICATION_XML)
    .post(Entity.xml(objectSent), GenericResponse.class);           
if(genericResponse.getGenericHeader().isSuccess()) {    
    log.info("Message : " + genericResponse.getGenericHeader().getMessage());
    User userResp = (User) genericResponse.getGenericObject().getObject();
}
...