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

13
demandé sur harry sunarsa 2012-03-12 15:57:43

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>
23
répondu Phil 2012-06-15 14:16:16

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>
2
répondu Rahul Tokase 2016-10-21 08:46:18