Uploaded image for project: 'RESTEasy'
  1. RESTEasy
  2. RESTEASY-657

Sub resource locator failing after upgrade to 2.3.1

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Major Major
    • 2.3.2.Final
    • 2.3.1
    • jaxrs
    • None

      I have some services located through a resource locator class like this:

      @Path("/platform")
      public interface PlatformServiceLocator {

      @Path("/users/

      {user}")
      public UserRestService getUserService(
      @HeaderParam("entity")
      String entity,
      @HeaderParam("ticket")
      String ticket,
      @PathParam("user")
      String userId
      );
      }

      @Path("/users")
      public interface UserRestService extends BaseUserService { .............. }

      public interface BaseUserService extends BaseCrudService<OhaUserModel>{


      @GET
      @Produces(MediaType.APPLICATION_JSON)
      @Path("data/ada/{user}

      ")
      public OhaUserModel getUserDataByAdaId(
      @PathParam("user")
      String adaId);
      }

      Invoking the URL /platform/users/89080/users/data/ada/jsanchez110 was working with version 2.2.3 but not with 2.3.1. I get this error:

      2012-02-07 20:16:56,314 WARN [org.jboss.resteasy.core.SynchronousDispatcher] (ajp-127.0.0.1-8009-1) Unknown exception while executing GET /platform/users/89080/users/data/ada/jsanchez110
      java.lang.ArrayIndexOutOfBoundsException: 0
      at org.jboss.resteasy.util.Types.getImplementingMethod(Types.java:156)
      at org.jboss.resteasy.core.ResourceMethodRegistry.findAnnotatedInterfaceMethod(ResourceMethodRegistry.java:139)
      at org.jboss.resteasy.core.ResourceMethodRegistry.findAnnotatedMethod(ResourceMethodRegistry.java:188)
      at org.jboss.resteasy.core.ResourceMethodRegistry.processMethod(ResourceMethodRegistry.java:204)
      at org.jboss.resteasy.core.ResourceMethodRegistry.addResourceFactory(ResourceMethodRegistry.java:125)
      at org.jboss.resteasy.core.ResourceLocator.invokeOnTargetObject(ResourceLocator.java:134)
      at org.jboss.resteasy.core.ResourceLocator.invoke(ResourceLocator.java:91)
      at org.jboss.resteasy.core.SynchronousDispatcher.getResponse(SynchronousDispatcher.java:525)
      at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:502)
      at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:119)
      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.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:50)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
      at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
      at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:235)
      at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
      at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:190)
      at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:92)
      at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.process(SecurityContextEstablishmentValve.java:126)
      at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:70)
      at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
      at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
      at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158)
      at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
      at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:330)
      at org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:436)
      at org.apache.coyote.ajp.AjpProtocol$AjpConnectionHandler.process(AjpProtocol.java:384)
      at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
      at java.lang.Thread.run(Thread.java:662)

              patriot1burke@gmail.com Bill Burke (Inactive)
              getaceres Jose Antonio (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Created:
                Updated:
                Resolved: