Hi org.apache.cxf.jaxrs.provider.JSONProvider checks XMLRootElement annotations. Would it make a difference if you annotate both wsResponse and wsMessage classes with this annotation ?
Cheers, Sergey -----Original Message----- From: Vespa, Anthony J [mailto:[EMAIL PROTECTED] Sent: 22 January 2008 21:48 To: cxf-user@incubator.apache.org Subject: JSON and JAX-RS 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) ---------------------------- IONA Technologies PLC (registered in Ireland) Registered Number: 171387 Registered Address: The IONA Building, Shelbourne Road, Dublin 4, Ireland