Я пытаюсь получить объект с сервера, используя отдых на Джерси.
Поэтому я отправляю объект 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();
}