Я пытаюсь использовать остальные веб-сервисы, чтобы получить список объектов SportMatchEvent, который расширяет SportEvent
Этот метод отдыха находится в ejb.В моих тестах, если я пытаюсь вернуть методом rest объект String, он работает, но мне нужно вернуть список объектов SportMatchEvents.
Моя архитектура следующая:
ejbкоторый реализует интерфейс удаленного ejb имеет следующую схему:
@Path("eventosdeportivos")
@Singleton
public class ConwSportEventArrayList extends CopyOnWriteArrayList<SportEvent> implements RemoteConwSportEventsService, Serializable {
.......
@Override
@GET
@Produces(value = {MediaType.APPLICATION_XML})
@Path("/eventos")
public Response restGetSportEventsAsList() {
List<SportMatchEvent> sportMatchEventsList = new ArrayList<>();
for(SportEvent sportEvent : this.getSportEventsAsList()){
if(sportEvent instanceof SportMatchEvent){
sportMatchEventsList.add((SportMatchEvent)sportEvent);
}
}
return Response.status(Response.Status.OK).entity(sportMatchEventsList).build();
}
}
@XmlRootElement
public class SportMatchEvent extends SportEvent{
.....
.....
public SportMatchEvent(Sports sport, Competitions competition,Date date,Date eventCutDate, Boolean inPlay, String homeTeamName, String awayTeamName ){
super(sport, competition,date, eventCutDate, inPlay);
this.homeTeamName = StringUtils.stripAccents(homeTeamName).toUpperCase();
this.awayTeamName = StringUtils.stripAccents(awayTeamName).toUpperCase();
this.eventName = generateEventName(this.homeTeamName, this.awayTeamName);
this.eventId = generateEventId();
}
}
public abstract class SportEvent implements Serializable{
....
....
}
Ошибка, которую я получаю от Glassfish при вызове метода rest, такова:
HTTP Status 500 - Internal Server Error
type Exception report
messageInternal Server Error
descriptionThe server encountered an internal error that prevented it from fulfilling this request.
exception
javax.servlet.ServletException: java.lang.ClassCastException: org.glassfish.jersey.message.internal.OutboundJaxrsResponse cannot be cast to java.io.Serializable
root cause
java.lang.ClassCastException: org.glassfish.jersey.message.internal.OutboundJaxrsResponse cannot be cast to java.io.Serializable