I have simple REST service. It returns list of entity. (e.g. Event)

       @GET
       @Path("/events")
       @Produces({ "application/json" })
       public List<Event> findEvents() {
              return eventBean.findEvents().getList();
       }


It works fine if return type is List<Event>. If I change it to EntityDTO (which 
contains list of Event and int property as shown below), it gives below error.

EntityDTO.java
@XmlRootElement
@XmlSeeAlso({ Event.class })
public class EntityDTO<E> {

       private List<E> list;
       private int totalCount;

       public List<E> getList() {
              return list;
       }

       public void setList(List<E> list) {
              this.list = list;
       }

       public int getTotalCount() {
              return totalCount;
       }

       public void setTotalCount(int totalCount) {
              this.totalCount = totalCount;
       }

}

This is the error I get.
WARNING: javax.ws.rs.WebApplicationException: java.lang.NullPointerException
at 
org.apache.cxf.jaxrs.provider.json.JSONProvider.writeTo(JSONProvider.java:370)
at 
org.apache.cxf.jaxrs.interceptor.JAXRSOutInterceptor.writeTo(JAXRSOutInterceptor.java:298)
at 
org.apache.cxf.jaxrs.interceptor.JAXRSOutInterceptor.serializeMessage(JAXRSOutInterceptor.java:258)
at 
org.apache.cxf.jaxrs.interceptor.JAXRSOutInterceptor.processResponse(JAXRSOutInterceptor.java:146)
at 
org.apache.cxf.jaxrs.interceptor.JAXRSOutInterceptor.handleMessage(JAXRSOutInterceptor.java:84)
at 
org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:262)
at 
org.apache.cxf.interceptor.OutgoingChainInterceptor.handleMessage(OutgoingChainInterceptor.java:77)
at 
org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:262)
at 
org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:121)
at 
org.apache.cxf.transport.http.AbstractHTTPDestination.invoke(AbstractHTTPDestination.java:236)
at 
org.apache.openejb.server.cxf.rs.CxfRsHttpListener.onMessage(CxfRsHttpListener.java:70)
at org.apache.openejb.server.rest.RsServlet.service(RsServlet.java:53)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at 
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
at 
org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:118)
at 
org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:84)


What am I missing? Any help would be appreciated.

Thanks.

Reply via email to