Метод Rest отправляет в Glassfish ошибку, возвращающую список объектов - PullRequest
0 голосов
/ 06 мая 2019

Я пытаюсь использовать остальные веб-сервисы, чтобы получить список объектов 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...