2012-03-12 5 views
11

favor ayuda Actualmente estoy construyendo un sistema que permite al descanso (Jersey 1.12) siendo invocada por algunos servicios web (Axis2) el escenario es como esto:com.sun.ws.rs.ext.RuntimeDelegateImpl error

cliente -> webservice (Axis2) -> restful services (Jersey 1.12) ... ejecute en el tomcat Apache 7 hay algún problema cuando intento invocar el jersey. dice que

java.lang.ClassNotFoundException: com.sun.ws.rs.ext.RuntimeDelegateImpl 

aquí el error completo en 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 

supongo que es causado por la falta algunos frascos ya sea en lib Apache o en mi axisservice lib realidad puse todas las jarras jersey en el axisservice lib ,,, he probado el axis2 -> restful con el explorador de prueba webservice en eclipse, funciona muy bien pero cada vez que lo intento de un cliente (como mostré en el escenario anterior) no funciona.

consejo por favor, gracias de antemano

Respuesta

20

El paquete com.sun.ws.rs.ext, y por lo tanto RuntimeDelegateImpl, está contenida en el frasco cliente Jersey. Si está utilizando Maven luego añadir esta dependencia a su pom.xml (en este caso estoy usando la versión 1.12 del cliente Jersey):

<dependency> 
    <groupId>com.sun.jersey</groupId> 
    <artifactId>jersey-client</artifactId> 
    <version>1.12</version> 
</dependency> 
1

Por favor, añada las siguientes dependencias en su proyecto experto que proporciona la aplicación de la RuntimeDelegate

<dependency> 
     <groupId>org.apache.cxf</groupId> 
     <artifactId>cxf-bundle-jaxrs</artifactId> 
     <version>2.7.18</version> 
</dependency>