So I spent some time playing with JAX-RS and I seem to have encountered an issue.
I can return single objects from my service as JSON (standard Java types as well as my custom objects) but if I try to return my wrapper object which contains an anytype generic list, I get an exception. Effectively I have an object called wsResponse that, in this case, is returning an array of messages (wsMessage) - I have decorated both objects with the XMLType. I am looking into this exception and see references to JAXB; is it possible to get around this? Jan 22, 2008 4:45:26 PM org.apache.cxf.jaxrs.interceptor.JAXRSOutInterceptor handleMessage INFO: Available content types for response is: application/json, Jan 22, 2008 4:45:26 PM org.apache.cxf.jaxrs.interceptor.JAXRSOutInterceptor handleMessage INFO: Response EntityProvider is: org.apache.cxf.jaxrs.provider.JSONProvider Jan 22, 2008 4:45:26 PM org.apache.cxf.jaxrs.interceptor.JAXRSOutInterceptor handleMessage INFO: Response content type is: application/json javax.xml.bind.MarshalException - with linked exception: [javax.xml.bind.JAXBException: class com.cbs.bos.data.ws.wsMessage nor any of its super class is known to this context.] at com.sun.xml.bind.v2.runtime.MarshallerImpl.write(MarshallerImpl.java:295 ) at com.sun.xml.bind.v2.runtime.MarshallerImpl.marshal(MarshallerImpl.java:1 48) at org.apache.cxf.jaxrs.provider.JSONProvider.writeTo(JSONProvider.java:90) at org.apache.cxf.jaxrs.interceptor.JAXRSOutInterceptor.handleMessage(JAXRS OutInterceptor.java:99) at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorC hain.java:208) at org.apache.cxf.interceptor.OutgoingChainInterceptor.handleMessage(Outgoi ngChainInterceptor.java:74) at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorC hain.java:208) at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiati onObserver.java:78) at org.apache.cxf.transport.servlet.ServletDestination.doMessage(ServletDes tination.java:79) at org.apache.cxf.transport.servlet.ServletController.invokeDestination(Ser vletController.java:264) at org.apache.cxf.transport.servlet.ServletController.invoke(ServletControl ler.java:123) at org.apache.cxf.transport.servlet.AbstractCXFServlet.invoke(AbstractCXFSe rvlet.java:170) at org.apache.cxf.transport.servlet.AbstractCXFServlet.doGet(AbstractCXFSer vlet.java:152) at javax.servlet.http.HttpServlet.service(HttpServlet.java:690) at javax.servlet.http.HttpServlet.service(HttpServlet.java:803) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applica tionFilterChain.java:290) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilt erChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValv e.java:233) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValv e.java:175) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java :128) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java :102) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve. java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:2 63) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:84 4) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process( Http11Protocol.java:584) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)