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

RESTEasy ClientWebTarget is explicitly using ResteasyUriBuilder which causes ClassCastException

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • Major
    • 3.1.1.Final, 3.0.21.Final
    • 3.0.16.Final
    • None
    • None

    Description

      RESTEasy (version 3.0.16) ClientWebTarget is explicitly using ResteasyUriBuilder and at runtime we are getting our Jersey JerseyUriBuilder.

      Issue is reproduced using KeyCloak:

      When trying to search a user with the API (usersResource.search) we are getting ClassCastException.

      The problem is that KeyCloak resteasy (version 3.0.16) ClientWebTarget is explicitly using ResteasyUriBuilder and at runtime we are getting our Jersey JerseyUriBuilder.
      We can't remove the Jersey dependency, rest easy should use the abstract UriBuilder instead of using explicitly ResteasyUriBuilder.

      Here is our mvn keycloak dependencies:
      <dependency>
      <groupId>org.jboss.resteasy</groupId>
      <artifactId>resteasy-client</artifactId>
      </dependency>
      <dependency>
      <groupId>org.jboss.resteasy</groupId>
      <artifactId>resteasy-jackson2-provider</artifactId>
      </dependency>
      <dependency>
      <groupId>org.jboss.resteasy</groupId>
      <artifactId>resteasy-multipart-provider</artifactId>
      </dependency>
      Exception stack trace:
      java.lang.ClassCastException: org.glassfish.jersey.uri.internal.JerseyUriBuilder cannot be cast to org.jboss.resteasy.specimpl.ResteasyUriBuilder
      at org.jboss.resteasy.client.jaxrs.internal.ClientWebTarget.queryParamNoTemplate(ClientWebTarget.java:289)
      at org.jboss.resteasy.client.jaxrs.internal.proxy.processors.webtarget.QueryParamProcessor.apply(QueryParamProcessor.java:23)
      at org.jboss.resteasy.client.jaxrs.internal.proxy.processors.webtarget.QueryParamProcessor.apply(QueryParamProcessor.java:12)
      at org.jboss.resteasy.client.jaxrs.internal.proxy.processors.AbstractCollectionProcessor.buildIt(AbstractCollectionProcessor.java:76)
      at org.jboss.resteasy.client.jaxrs.internal.proxy.processors.webtarget.AbstractWebTargetCollectionProcessor.build(AbstractWebTargetCollectionProcessor.java:22)

      Attachments

        Issue Links

          Activity

            People

              rhn-support-asoldano Alessio Soldano
              perfecto-keycloak Haim Vana
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: