To Fix this issue I had to include the "jaxb-impl-2.2.5" lib in my project. I`m not sure why this is needed from my side as I presumed the TomEE Rest version should provide all needed libs to handle the json components?
Could still be my side :) so i`ll do a separate test and come back. Regards Derick -----Original Message----- From: Potgieter, Derick D Sent: Monday, October 22, 2012 9:22 AM To: [email protected] Subject: RE: TomEE Rest : Issue with JSON response I`ll do a little test and let you know. This is the stack: java.lang.NoClassDefFoundError: com/sun/xml/bind/marshaller/NamespacePrefixMapper at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:791) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) at java.net.URLClassLoader.defineClass(URLClassLoader.java:449) at java.net.URLClassLoader.access$100(URLClassLoader.java:71) at java.net.URLClassLoader$1.run(URLClassLoader.java:361) at java.net.URLClassLoader$1.run(URLClassLoader.java:355) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:354) at java.lang.ClassLoader.loadClass(ClassLoader.java:423) at java.lang.ClassLoader.loadClass(ClassLoader.java:356) at org.apache.cxf.jaxrs.provider.AbstractJAXBProvider.setNamespaceMapper(AbstractJAXBProvider.java:134) at org.apache.cxf.jaxrs.provider.json.JSONProvider.marshal(JSONProvider.java:525) at org.apache.cxf.jaxrs.provider.json.JSONProvider.writeTo(JSONProvider.java:371) 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:211) 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:722) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at za.co.taxii.filter.SecurityFilter.doFilter(SecurityFilter.java:70) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123) at org.apache.tomee.catalina.OpenEJBValve.invoke(OpenEJBValve.java:45) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:581) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:929) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1002) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:585) at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) at java.lang.Thread.run(Thread.java:722) Caused by: java.lang.ClassNotFoundException: com.sun.xml.bind.marshaller.NamespacePrefixMapper at java.net.URLClassLoader$1.run(URLClassLoader.java:366) at java.net.URLClassLoader$1.run(URLClassLoader.java:355) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:354) at java.lang.ClassLoader.loadClass(ClassLoader.java:423) at java.lang.ClassLoader.loadClass(ClassLoader.java:356) ... 46 more Oct 22, 2012 9:12:19 AM org.apache.cxf.jaxrs.interceptor.JAXRSOutInterceptor writeResponseErrorMessage WARNING: Error serializing the response, please check the server logs, response class : FareVO. This only happens on header "Accept: application/json", I don't get this on "Accept: application/xml". This is not something i`m setting at all. My rest service: @Path("/fares") @Stateless //@RolesAllowed({"tomee"}) public class FareService { @POST @Consumes({"application/json", "application/xml"}) @Produces({"application/json", "application/xml"}) public FareVO requestFare(FareRequest fareRequest) { .... FareVO fare = new FareVO(); .... return fare; } } Regards Derick -----Original Message----- From: Romain Manni-Bucau [mailto:[email protected]] Sent: Monday, October 22, 2012 8:40 AM To: [email protected] Subject: Re: TomEE Rest : Issue with JSON response Hi, can you reproduce the error in a simple ready-to-run maven project? btw i never saw this error *Romain Manni-Bucau* *Twitter: @rmannibucau <https://twitter.com/rmannibucau>* *Blog: **http://rmannibucau.wordpress.com/*<http://rmannibucau.wordpress.com/> *LinkedIn: **http://fr.linkedin.com/in/rmannibucau* *Github: https://github.com/rmannibucau* 2012/10/22 Potgieter, Derick D <[email protected]> > Hi Guys, > > Want to check if anyone else is experiencing this issue. > I have a rest service that is throwing the below error but only on the 2nd > request onwards. > > java.lang.NoClassDefFoundError: org/apache/cxf/common/jaxb/NamespaceMapper > > The request is for a Single VO. > If I return a List<VO> then it works fine for JSON serialization. > > Seems very strange on why the same VO wound not be rendered. > > I have even included the cxf-common-utilities-2.5.6.jar lib to make sure > this not the case, but this is not helping. First one works, subsequent > calls not. > > Regards > Derick > Standard Bank email disclaimer and confidentiality note > Please go to > http://www.standardbank.co.za/site/homepage/emaildisclaimer.html to read > our email disclaimer and confidentiality note. Kindly email > [email protected] (no content or subject line necessary) if > you cannot view that page and we will email our email disclaimer and > confidentiality note to you. >
