java.lang.AbstractMethodError

There are no available Samebug tips for this exception. Do you have an idea how to solve this issue? A short tip would help users who saw this issue last week.

  • There are two versions of {{javax.ws.rs}} package exported: {{exports | grep javax.ws.rs}}: * *2.0.0* by *Apache ServiceMix :: Specs :: JSR-339 API 2.0 (2.5.0)* * *1.1.1* by *jsr311-api (1.1.1)* When {{switchyard-rest}} feature installed, the {{switchyard-component-resteasy}} imports the version *2.0.0* provided by Apache ServiceMix. BUT, the {{switchyard-component-resteasy}} uses {{resteasy-jaxrs_2.3.10.Final}}, and this version of RestEasy does not support JAX-RS 2.0, only the prev version. The are cooperating two incompatible version of JAX-RS. It leads to {{java.lang.AbstractMethodError}} when JAX-RS 2.0 classes tries to call methods on JAX-RS 1.0 classes form RestEasy. You can see the error when you crate own implementation of {{RESTEasyMessageComposer}} and in the {{decompose}} method throws {{WebApplicationException}}: {code:java} public class AuthenticatedServiceRestComposer extends RESTEasyMessageComposer { @Override public RESTEasyBindingData decompose(Exchange exchange, RESTEasyBindingData target) throws Exception { throw new WebApplicationException( Response.status(Response.Status.UNAUTHORIZED) .entity(he.toString()) .type(MediaType.TEXT_PLAIN) .build() ); } } {code} The {{WebApplicationException}} is then from JAX-RS 2.0.0, {{Response}} is {{ServerResponse}} created by RESTEasy, so it is from JAX-RS 1.1.1. The resulting exception: {code} org.jboss.resteasy.spi.UnhandledException: java.lang.AbstractMethodError: javax.ws.rs.core.Response.getStatusInfo()Ljavax/ws/rs/core/Response$StatusType; at org.jboss.resteasy.core.SynchronousDispatcher.handleApplicationException(SynchronousDispatcher.java:364) at org.jboss.resteasy.core.SynchronousDispatcher.handleException(SynchronousDispatcher.java:232) at org.jboss.resteasy.core.SynchronousDispatcher.handleInvokerException(SynchronousDispatcher.java:208) at org.jboss.resteasy.core.SynchronousDispatcher.getResponse(SynchronousDispatcher.java:556) at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:523) at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:125) at org.jboss.resteasy.plugins.server.servlet.ServletContainerDispatcher.service(ServletContainerDispatcher.java:208) at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:55) at org.switchyard.component.resteasy.osgi.OsgiRESTEasyServletWrapper.service(OsgiRESTEasyServletWrapper.java:74) at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:50) at javax.servlet.http.HttpServlet.service(HttpServlet.java:668) at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:684) at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:503) at org.ops4j.pax.web.service.jetty.internal.HttpServiceServletHandler.doHandle(HttpServiceServletHandler.java:69) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:137) at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:533) at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:231) at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1086) at org.ops4j.pax.web.service.jetty.internal.HttpServiceContext.doHandle(HttpServiceContext.java:240) at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:429) at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:193) at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1020) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135) at org.ops4j.pax.web.service.jetty.internal.JettyServerHandlerCollection.handle(JettyServerHandlerCollection.java:75) 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.content(AbstractHttpConnection.java:982) at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.content(AbstractHttpConnection.java:1043) at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:865) at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:240) at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82) at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:696) at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:53) 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:745) Caused by: java.lang.AbstractMethodError: javax.ws.rs.core.Response.getStatusInfo()Ljavax/ws/rs/core/Response$StatusType; at javax.ws.rs.WebApplicationException.computeExceptionMessage(WebApplicationException.java:205) at javax.ws.rs.WebApplicationException.<init>(WebApplicationException.java:179) at javax.ws.rs.WebApplicationException.<init>(WebApplicationException.java:88) at org.jboss.soa.qa.securitypolicy.composers.AuthenticatedServiceRestComposer.decompose(AuthenticatedServiceRestComposer.java:18) at org.switchyard.component.resteasy.composer.RESTEasyMessageComposer.decompose(RESTEasyMessageComposer.java:30) at org.switchyard.component.resteasy.InboundHandler.invoke(InboundHandler.java:146) at org.switchyard.component.resteasy.util.RESTEasyProxy.invoke(RESTEasyProxy.java:120) at com.sun.proxy.$Proxy111.processAuthenticated(Unknown Source) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:497) at org.jboss.resteasy.core.MethodInjectorImpl.invoke(MethodInjectorImpl.java:168) at org.jboss.resteasy.core.ResourceMethod.invokeOnTarget(ResourceMethod.java:269) at org.jboss.resteasy.core.ResourceMethod.invoke(ResourceMethod.java:227) at org.jboss.resteasy.core.ResourceMethod.invoke(ResourceMethod.java:216) at org.jboss.resteasy.core.SynchronousDispatcher.getResponse(SynchronousDispatcher.java:541) {code}
    via by Václav Chalupa,
    • java.lang.AbstractMethodError: javax.ws.rs.core.Response.getStatusInfo()Ljavax/ws/rs/core/Response$StatusType; at javax.ws.rs.WebApplicationException.computeExceptionMessage(WebApplicationException.java:205) at javax.ws.rs.WebApplicationException.<init>(WebApplicationException.java:179) at javax.ws.rs.WebApplicationException.<init>(WebApplicationException.java:244) at com.sun.jersey.core.provider.jaxb.AbstractRootElementProvider.writeTo(AbstractRootElementProvider.java:159) at com.sun.jersey.api.client.RequestWriter.writeRequestEntity(RequestWriter.java:300) at com.sun.jersey.client.urlconnection.URLConnectionClientHandler._invoke(URLConnectionClientHandler.java:217) at com.sun.jersey.client.urlconnection.URLConnectionClientHandler.handle(URLConnectionClientHandler.java:153) at com.sun.jersey.api.client.Client.handle(Client.java:652) at com.sun.jersey.api.client.WebResource.voidHandle(WebResource.java:706) at com.sun.jersey.api.client.WebResource.access$400(WebResource.java:74) at com.sun.jersey.api.client.WebResource$Builder.post(WebResource.java:555) at jtmt.shell.commands.upld.TrcUploader.upload(TrcUploader.java:29) at jtmt.shell.commands.trcrt.ICMPTraceRoute.run(ICMPTraceRoute.java:92) at jtmt.shell.commands.Main.<init>(Main.java:42) at jtmt.shell.commands.Main.main(Main.java:64)

    Users with the same issue

    Unknown visitor
    Unknown visitor1 times, last one,
    Unknown visitor
    Unknown visitor1 times, last one,
    Unknown visitor
    Unknown visitor1 times, last one,
    Unknown visitor
    Unknown visitor1 times, last one,
    Unknown visitor
    Unknown visitor1 times, last one,
    6 more bugmates