com.sun.ws.rs.ext.Erreur RuntimeDelegateImpl
s'il vous plaît aider actuellement, je suis en train de construire un système qui permet au restful (jersey 1.12) d'être invoqué par certains services web (Axis2) le scénario est comme ceci:
client --> webservice (Axis2) --> services restful (Jersey 1.12) ... courir dans le Tomcat Apache 7 il y a un problème chaque fois que j'essaie d'invoquer le jersey. dit que
java.lang.ClassNotFoundException: com.sun.ws.rs.ext.RuntimeDelegateImpl
voici l'erreur complet dans apache,
[ERROR] java.lang.ClassNotFoundException: com.sun.ws.rs.ext.RuntimeDelegateImpl
java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at org.apache.axis2.rpc.receivers.RPCUtil.invokeServiceClass(RPCUtil.jav
a:212)
at org.apache.axis2.rpc.receivers.RPCMessageReceiver.invokeBusinessLogic
(RPCMessageReceiver.java:117)
at org.apache.axis2.receivers.AbstractInOutMessageReceiver.invokeBusines
sLogic(AbstractInOutMessageReceiver.java:40)
at org.apache.axis2.receivers.AbstractMessageReceiver.receive(AbstractMe
ssageReceiver.java:110)
at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:181)
at org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostReq
uest(HTTPTransportUtils.java:172)
at org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:1
46)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:641)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
icationFilterChain.java:305)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
ilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperV
alve.java:224)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextV
alve.java:169)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(Authentica
torBase.java:472)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j
ava:168)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.j
ava:98)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:
927)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVal
ve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.jav
a:407)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp
11Processor.java:987)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(
AbstractProtocol.java:579)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoin
t.java:307)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.
java:1110)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor
.java:603)
at java.lang.Thread.run(Thread.java:722)
Caused by: java.lang.RuntimeException: java.lang.ClassNotFoundException: com.sun
.ws.rs.ext.RuntimeDelegateImpl
at javax.ws.rs.ext.RuntimeDelegate.getInstance(RuntimeDelegate.java:112)
at javax.ws.rs.core.UriBuilder.newInstance(UriBuilder.java:69)
at javax.ws.rs.core.UriBuilder.fromUri(UriBuilder.java:80)
at javax.ws.rs.core.UriBuilder.fromUri(UriBuilder.java:99)
at wsPackage.TweetClass.getBaseURI(TweetClass.java:46)
at wsPackage.TweetClass.tweet(TweetClass.java:39)
... 29 more
Caused by: java.lang.ClassNotFoundException: com.sun.ws.rs.ext.RuntimeDelegateIm
pl
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoa
der.java:1701)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoa
der.java:1546)
at javax.ws.rs.ext.FactoryFinder.newInstance(FactoryFinder.java:44)
at javax.ws.rs.ext.FactoryFinder.find(FactoryFinder.java:141)
at javax.ws.rs.ext.RuntimeDelegate.getInstance(RuntimeDelegate.java:95)
... 34 more
je suppose que c'est dû au fait qu'il manque des pots apache lib ou dans mon axisservice lib en fait, j'ai mis tous les pots de jersey dans la couche axisservice,,, j'ai testé l'axis2 -- > restful avec le webservice Test explorer dans eclipse, il fonctionne très bien mais chaque fois que je l'essaie d'un client (comme je l'ai montré dans le scénario ci-dessus) il ne fonctionne pas.
s'il vous Plaît des conseils, merci d'avance
2 réponses
The com.sun.ws.rs.ext package, et donc RuntimeDelegateImpl, est contenu dans le jersey client jar. Si vous utilisez maven, Ajoutez cette dépendance à votre pom.xml (ici j'utilise le client v1 De jersey.12):
<dependency>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-client</artifactId>
<version>1.12</version>
</dependency>
s'il vous plaît ajouter les dépendances suivantes dans votre projet maven qui fournit la mise en œuvre de L'RuntimeDelegate
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-bundle-jaxrs</artifactId>
<version>2.7.18</version>
</dependency>