java.lang.NoSuchMethodError: javax.ws.rs.core.Antwort.readEntity

, Was ich Tue

Vorher bin ich mit Jercey Client aber Jercey nicht Mechanismus namens Wiederholen ich RestEasy client also ich habe unten in meiner Abhängigkeit pom.xml Datei

        <dependency>
            <groupId>org.jboss.resteasy</groupId>
            <artifactId>resteasy-jaxrs</artifactId>
            <version>3.0.8.Final</version>
        </dependency>
        <!-- JAXB support -->
        <dependency>
            <groupId>org.jboss.resteasy</groupId>
            <artifactId>resteasy-jaxb-provider</artifactId>
            <version>3.0.8.Final</version>
        </dependency>
        <dependency>
            <groupId>org.jboss.resteasy</groupId>
            <artifactId>jaxrs-api</artifactId>
            <version>3.0.8.Final</version>
        </dependency>
        <dependency>
            <groupId>org.jboss.resteasy</groupId>
            <artifactId>resteasy-client</artifactId>
            <version>3.0.8.Final</version>
        </dependency>
        <dependency>
            <groupId>org.jboss.resteasy</groupId>
            <artifactId>resteasy-atom-provider</artifactId>
            <version>3.0.8.Final</version>
        </dependency>
        <dependency>
            <groupId>org.jboss.resteasy</groupId>
            <artifactId>resteasy-multipart-provider</artifactId>
            <version>3.0.8.Final</version>
        </dependency>
        <dependency>
            <groupId>org.jboss.resteasy</groupId>
            <artifactId>resteasy-links</artifactId>
            <version>3.0.8.Final</version>
        </dependency>
         <dependency>
            <groupId>org.jboss.resteasy</groupId>
            <artifactId>resteasy-jackson2-provider</artifactId>
             <version>3.0.8.Final</version>
        </dependency>

Java-code, den ich geschrieben habe

 ResteasyClient client;
   client = new ResteasyClientBuilder().build();
   ResteasyWebTarget target = client.target(usersRequest.getUrl());
   Response  response = null;
   if(null != usersRequest.getXmlObject()){
   response =  target.request().accept(MediaType.APPLICATION_XML_TYPE).post(Entity.entity(usersRequest.getXmlObject(),MediaType.TEXT_XML));

   }else{
   response =  target.request().accept(MediaType.APPLICATION_XML_TYPE).get();
           }
   output = response.readEntity(String.class);

Aber ich bin endend mit unter Fehler

java.lang.NoSuchMethodError:
javax.ws.rs.core.Antwort.readEntity(Ljava/lang/Class;)Ljava/lang/Object;
bei
com.alu.ipprd.mdf.soa.portal.integration.restapi.RestAPIUsersFacade.getAuthorizationUserRole(RestAPIUsersFacade.java:212)
[mdf-portal-integration-0.0.1-SNAPSHOT.jar:]
com.alu.ipprd.bsm.soa.portal.business.aaa.UsersWorkOrder.processBusinessLogic(UsersWorkOrder.java:57)
[mdf-portal-business-0.0.1-SNAPSHOT.jar:]
com.alu.ipprd.bsm.soa.portal.business.aaa.UsersWorkOrder.processBusinessLogic(UsersWorkOrder.java:1)
[mdf-portal-business-0.0.1-SNAPSHOT.jar:]
com.alu.ipprd.bsm.soa.portal.common.business.BaseWorkOrder.submitWorkOrder(BaseWorkOrder.java:75)
[mdf-portal-common-0.0.1-SNAPSHOT.jar:]
com.alu.ipprd.bsm.soa.portal.bean.LoginBean.doLogin(LoginBean.java:907)
[Klassen:]
com.alu.ipprd.bsm.soa.portal.bean.LoginBean.verifyLogged(LoginBean.java:1150)
[Klassen:] an der Sonne.reflektieren.NativeMethodAccessorImpl.invoke0(Muttersprache
Methode) [rt.jar:1.7.0_79]
Sonne.reflektieren.NativeMethodAccessorImpl.invoke(Unknown Source)
[rt.jar:1.7.0_79]
Sonne.reflektieren.DelegatingMethodAccessorImpl.invoke(Unknown Source)
[rt.jar:1.7.0_79] bei java.lang.reflektieren.Methode.invoke(Unknown Source)
[rt.jar:1.7.0_79]
org.apache.el.parser.AstValue.invoke(AstValue.java:262)
[jbossweb-7.0.10.Final.jar:]
org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:278)
[jbossweb-7.0.10.Final.jar:]
com.Sonne.Gesichter.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:105)
[jsf-impl-2.1.5-jbossorg-1.jar:2.1.5-SNAPSHOT]
com.sun.faces.facelets.tag.jsf.core.DeclarativeSystemEventListener.processEvent(EventHandler.java:128)
[jsf-impl-2.1.5-jbossorg-1.jar:2.1.5-SNAPSHOT]
javax.faces.component.UIComponent$ComponentSystemEventListenerAdapter.processEvent(UIComponent.java:2464)
[jboss-jsf-api_2.1_spec-2.0.0.Endgültig.jar:2.0.0.Finale]
javax.Gesichter.event.SystemEvent.processListener(SystemEvent.java:106)
[jboss-jsf-api_2.1_spec-2.0.0.Endgültig.jar:2.0.0.Finale]
com.Sonne.Gesichter.- Anwendung.ApplicationImpl.processListeners(ApplicationImpl.java:2168)
[jsf-impl-2.1.5-jbossorg-1.jar:2.1.5-SNAPSHOT]
com.Sonne.Gesichter.- Anwendung.ApplicationImpl.invokeComponentListenersFor(ApplicationImpl.java:2116)
[jsf-impl-2.1.5-jbossorg-1.jar:2.1.5-SNAPSHOT]
com.Sonne.Gesichter.- Anwendung.ApplicationImpl.publishEvent(ApplicationImpl.java:288)
[jsf-impl-2.1.5-jbossorg-1.jar:2.1.5-SNAPSHOT]
com.Sonne.Gesichter.- Anwendung.ApplicationImpl.publishEvent(ApplicationImpl.java:246)
[jsf-impl-2.1.5-jbossorg-1.jar:2.1.5-SNAPSHOT]
com.Sonne.Gesichter.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:108)
[jsf-impl-2.1.5-jbossorg-1.jar:2.1.5-SNAPSHOT]
com.Sonne.Gesichter.lifecycle.Phase.doPhase (- Phase.java:101)
[jsf-impl-2.1.5-jbossorg-1.jar:2.1.5-SNAPSHOT]
com.Sonne.Gesichter.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139)
[jsf-impl-2.1.5-jbossorg-1.jar:2.1.5-SNAPSHOT]
javax.Gesichter.webapp.FacesServlet.service(FacesServlet.java:594)
[jboss-jsf-api_2.1_spec-2.0.0.Endgültig.jar:2.0.0.Finale]
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:329)
[jbossweb-7.0.10.Final.jar:]
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248)
[jbossweb-7.0.10.Final.jar:]
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:275)
[jbossweb-7.0.10.Final.jar:]
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:161)
[jbossweb-7.0.10.Final.jar:]
org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:154)
[jboss-as-web-7.1.0.Endgültig.jar:7.1.0.Finale]
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:155)
[jbossweb-7.0.10.Final.jar:]
org.apache.catalina.Ventile.ErrorReportValve.invoke(ErrorReportValve.java:102)
[jbossweb-7.0.10.Final.jar:]
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
[jbossweb-7.0.10.Final.jar:]
org.apache.catalina.- Anschluss.CoyoteAdapter.service(CoyoteAdapter.java:368)
[jbossweb-7.0.10.Final.jar:]
org.apache.coyote.http11.Http11Processor.Prozess(Http11Processor.java:877)
[jbossweb-7.0.10.Final.jar:]
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.Prozess(Http11Protocol.java:671)
[jbossweb-7.0.10.Final.jar:]
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:930)
[jbossweb-7.0.10.Final.jar:] bei java.lang.Thread.run(Unknown Source)
[rt.jar:1.7.0_79]

Ich habe auch überprüft die jar jaxrs-api-3.0.8.Final.jar enthalten, die diese Klasse und Methode auch in der Gegenwart und auch dann ist die nicht zu lösen sind. Kann einer mir sagen was ich falsch mache?

EDIT 1:-
Ich beschränke Sie Jboss für die Verwendung resteasy Glas durch das hinzufügen von folgenden Eintrag in jboss-deployment-structure.xml

<jboss-deployment-structure>
    <deployment>

        <exclusions>
            <module name="org.apache.log4j" />
            <module name="org.jboss.resteasy.resteasy-atom-provider" />
            <module name="org.jboss.resteasy.resteasy-cdi" />
            <module name="org.jboss.resteasy.resteasy-jaxb-provider" />
            <module name="org.jboss.resteasy.resteasy-jaxrs" />
            <module name="org.jboss.resteasy.resteasy-jettison-provider" />
            <module name="org.jboss.resteasy.resteasy-jsapi" />
            <module name="org.jboss.resteasy.resteasy-multipart-provider" />
            <module name="org.jboss.resteasy.resteasy-yaml-provider" />
            <module name="org.jboss.resteasy.resteasy-jackson-provider" />
            <module name="org.javassist" />
        </exclusions>
        <dependencies>
            <module name="javaee.api">
                <imports>
                    <exclude path="org/apache/xml/security/**" />
                </imports>
            </module>

            <module name="org.jboss.resteasy.resteasy-jettison-provider" />
            <module name="org.codehaus.jettison" /> 
        </dependencies>
    </deployment>
</jboss-deployment-structure>
Sieht aus wie Sie immer noch das gleiche problem. Response ist eine JAX-RS-Klasse, die verwendet wird, für beide server-Seite und client-Seite. In JAX-RS 1.x es gibt keine standard-client-Seite unterstützen. Mit JAX-RS 2.x, dass, wenn ein client-API wurde Hinzugefügt, und Methoden wie readEntity wurden Hinzugefügt, um die Response - Objekt zur Unterstützung von Verkaufsgesprächen. Also wie ich schon sagte, Sie sind immer noch das gleiche problem mit den alten Klassen geladen werden
Wenn Sie nicht bekommen kann es arbeiten, ich sehe nicht, warum können Sie nicht einfach die 2.3.x-version des RESTeasy-Bibliothek, da sind Sie nur noch der client. Andere Anwendungen deaktiviert, die alte version zu aktualisieren hat keine Auswirkungen auf Ihre Anwendung, die verwendet immer noch die alte version
Sehen Sie die Dokumentation 2.3.x-client-api. Dann verwenden Sie einfach die ältere version des resteasy-client
Vielen Dank für Ihren Vorschlag-server ist mit version 3.0.8
Von dem, was ich verstehe, aus der heraus das Gespräch gestern ist, dass die andere Mannschaft, die an die REST-Anwendung (das ist eine andere Anwendung) ist nur dann ausgeschlossen ist, das alte Modul (wie Sie tun) nicht zu ersetzen. So, den REST der Anwendung nutzen können, die neuere version, und die Anwendung , die braucht nur der client kann die alte version noch. Verschiedene Anwendungen haben unterschiedliche class loader.

InformationsquelleAutor Subodh Joshi | 2016-01-12

Schreibe einen Kommentar