[
https://issues.apache.org/jira/browse/CXF-5808?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Sergey Beryozkin resolved CXF-5808.
-----------------------------------
Resolution: Fixed
Fix Version/s: 3.0.1
Assignee: Sergey Beryozkin
JSON namespace map was checked too early hence the error was happening on the
2nd run only, fixed that. The actual error was due to ASM being not on the
classpath - CXF generates the mappers on the trunk - I've updated the code to
try to default to a mapper shipped with CXF if no ASM is available.
> jax_rs content_negotiation test fails on successive calls
> ---------------------------------------------------------
>
> Key: CXF-5808
> URL: https://issues.apache.org/jira/browse/CXF-5808
> Project: CXF
> Issue Type: Bug
> Components: JAX-RS
> Affects Versions: 3.0.0
> Environment: CentOS
> Reporter: Lee Baydush
> Assignee: Sergey Beryozkin
> Fix For: 3.0.1
>
>
> The jax_rs content_negotiation test fails if you call it from a browser and
> ask for json result
> (http://localhost:9000/customerservice/customers/123?_type=json) more than
> once. The first call works. On successive calls, the service throws the
> following:
> Jun 16, 2014 4:09:36 PM org.apache.cxf.jaxrs.utils.JAXRSUtils
> logMessageHandlerProblem
> SEVERE: Problem with writing the data, class demo.jaxrs.server.Customer,
> ContentType: application/json
> Jun 16, 2014 4:09:36 PM
> org.apache.cxf.jaxrs.impl.WebApplicationExceptionMapper toResponse
> WARNING: javax.ws.rs.InternalServerErrorException: HTTP 500 Internal Server
> Error
> at
> org.apache.cxf.jaxrs.utils.SpecExceptions.toInternalServerErrorException(SpecExceptions.java:79)
> at
> org.apache.cxf.jaxrs.utils.ExceptionUtils.toInternalServerErrorException(ExceptionUtils.java:101)
> at
> org.apache.cxf.jaxrs.provider.json.JSONProvider.writeTo(JSONProvider.java:393)
> at
> org.apache.cxf.jaxrs.utils.JAXRSUtils.writeMessageBody(JAXRSUtils.java:1349)
> at
> org.apache.cxf.jaxrs.interceptor.JAXRSOutInterceptor.serializeMessage(JAXRSOutInterceptor.java:244)
> at
> org.apache.cxf.jaxrs.interceptor.JAXRSOutInterceptor.processResponse(JAXRSOutInterceptor.java:117)
> at
> org.apache.cxf.jaxrs.interceptor.JAXRSOutInterceptor.handleMessage(JAXRSOutInterceptor.java:80)
> at
> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:307)
> at
> org.apache.cxf.interceptor.OutgoingChainInterceptor.handleMessage(OutgoingChainInterceptor.java:77)
> at
> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:307)
> at
> org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:121)
> at
> org.apache.cxf.transport.http.AbstractHTTPDestination.invoke(AbstractHTTPDestination.java:240)
> at
> org.apache.cxf.transport.http_jetty.JettyHTTPDestination.doService(JettyHTTPDestination.java:247)
> at
> org.apache.cxf.transport.http_jetty.JettyHTTPHandler.handle(JettyHTTPHandler.java:72)
> at
> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1088)
> at
> org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1024)
> at
> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135)
> at
> org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:255)
> at
> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116)
> at org.eclipse.jetty.server.Server.handle(Server.java:370)
> at
> org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:494)
> at
> org.eclipse.jetty.server.AbstractHttpConnection.headerComplete(AbstractHttpConnection.java:971)
> at
> org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:1033)
> at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:644)
> at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:235)
> at
> org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82)
> at
> org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:667)
> at
> org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:52)
> at
> org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608)
> at
> org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543)
> at java.lang.Thread.run(Thread.java:701)
> Caused by: java.lang.RuntimeException: No ASM ClassWriterFound
> at
> org.apache.cxf.common.util.ASMHelper.createClassWriter(ASMHelper.java:269)
> at
> org.apache.cxf.common.jaxb.JAXBUtils.createNamespaceWrapper(JAXBUtils.java:1011)
> at
> org.apache.cxf.common.jaxb.JAXBUtils.setNamespaceMapper(JAXBUtils.java:558)
> at
> org.apache.cxf.jaxrs.provider.AbstractJAXBProvider.setNamespaceMapper(AbstractJAXBProvider.java:151)
> at
> org.apache.cxf.jaxrs.provider.json.JSONProvider.marshal(JSONProvider.java:606)
> at
> org.apache.cxf.jaxrs.provider.json.JSONProvider.writeTo(JSONProvider.java:385)
> ... 28 more
> Caused by: java.lang.NoClassDefFoundError: org/objectweb/asm/ClassWriter
> at
> org.apache.cxf.common.util.ASMHelper.getASMClassWriterClass(ASMHelper.java:86)
> at org.apache.cxf.common.util.ASMHelper.getASMClass(ASMHelper.java:97)
> at
> org.apache.cxf.common.util.ASMHelper.createClassWriter(ASMHelper.java:266)
> ... 33 more
> Caused by: java.lang.ClassNotFoundException: org.objectweb.asm.ClassWriter
> at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
> at java.security.AccessController.doPrivileged(Native Method)
> at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
> at java.lang.ClassLoader.loadClass(ClassLoader.java:323)
> at java.lang.ClassLoader.loadClass(ClassLoader.java:268)
> ... 36 more
--
This message was sent by Atlassian JIRA
(v6.2#6252)