J'utilise le client Jersey dans un bean de session EJB 3 sans état. Je peux déployer le projet EJB sur Weblogic 11g. Mais lorsque je tente de regarder le grain d'un JSP, je reçois l'erreur suivanteUtilisation du client Jersey dans EJB 3 bean session sans état sur Weblogic
javax.ejb.EJBException: EJB Exception: ; nested exception is:
java.lang.NoClassDefFoundError: com/sun/jersey/api/client/Client; nested exception is: java.rmi.RemoteException: EJB Exception: ; nested exception is:
java.lang.NoClassDefFoundError: com/sun/jersey/api/client/Client
at weblogic.ejb.container.internal.RemoteBusinessIntfProxy.unwrapRemoteException(RemoteBusinessIntfProxy.java:112)
at weblogic.ejb.container.internal.RemoteBusinessIntfProxy.invoke(RemoteBusinessIntfProxy.java:91)
at $Proxy66.sayHelloFromServiceBean(Unknown Source)
at jsp_servlet.__yelpin._jspService(__yelpin.java:92)
at weblogic.servlet.jsp.JspBase.service(JspBase.java:34)
at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:292)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:175)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3594)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2202)
at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2108)
at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1432)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
Caused by: java.rmi.RemoteException: EJB Exception: ; nested exception is:
java.lang.NoClassDefFoundError: com/sun/jersey/api/client/Client
at weblogic.rmi.internal.ServerRequest.sendReceive(ServerRequest.java:205)
at weblogic.rmi.cluster.ClusterableRemoteRef.invoke(ClusterableRemoteRef.java:345)
at weblogic.rmi.cluster.ClusterableRemoteRef.invoke(ClusterableRemoteRef.java:259)
at com.yelpin.ABCD_xruy6c_ABCDRemoteImpl_1032_WLStub.sayHelloFromServiceBean(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at weblogic.ejb.container.internal.RemoteBusinessIntfProxy.invoke(RemoteBusinessIntfProxy.java:73)
... 15 more
Caused by: java.lang.NoClassDefFoundError: com/sun/jersey/api/client/Client
at com.yelpin.ABCD.sayHelloFromServiceBean(ABCD.java:26)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.bea.core.repackaged.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:310)
at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)
at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:131)
at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:119)
at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
at com.bea.core.repackaged.springframework.jee.spi.MethodInvocationVisitorImpl.visit(MethodInvocationVisitorImpl.java:37)
at weblogic.ejb.container.injection.EnvironmentInterceptorCallbackImpl.callback(EnvironmentInterceptorCallbackImpl.java:55)
at com.bea.core.repackaged.springframework.jee.spi.EnvironmentInterceptor.invoke(EnvironmentInterceptor.java:50)
at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
at com.bea.core.repackaged.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:89)
at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:131)
at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:119)
at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
at com.bea.core.repackaged.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
at $Proxy67.sayHelloFromServiceBean(Unknown Source)
at com.yelpin.ABCD_xruy6c_ABCDRemoteImpl.sayHelloFromServiceBean(ABCD_xruy6c_ABCDRemoteImpl.java:61)
at com.yelpin.ABCD_xruy6c_ABCDRemoteImpl_WLSkel.invoke(Unknown Source)
at weblogic.rmi.internal.ServerRequest.sendReceive(ServerRequest.java:174)
... 23 more
Je suis nouveau à EJB3, Jersey et Weblogic. Ce que je comprends, c'est que le bean session sans état est incapable de trouver la classe Jersey Client. Est-ce que quelqu'un peut m'aider avec ça ?
J'ai deux projets dans OEPE (Oracle Enterprise Pack pour Eclipse). L'un est un projet EJB 3.0 qui contient le bean de session sans état. L'autre est un projet web dynamique qui contient le JSP à partir duquel je fais une recherche JNDI pour obtenir le bean de session sans état. J'utilise la classe Jersey Client dans l'une des méthodes du bean session sans état. Cette méthode est appelée à partir de la JSP.
Lorsque je vérifie les déploiements sur le serveur à l'aide de la console Administrateur, il existe deux déploiements. L'un est un fichier EAR automatique généré par OEPE. Cet EAR correspond au projet web dynamique. L'autre déploiement est de type EJB.
J'ai également essayé d'ajouter les fichiers jersey jar au dossier lib sous le serveur et j'ai redémarré le serveur. Mais encore, je reçois la même erreur.
merci pour la réponse. J'ai mis à jour ma question avec la structure. –
@rboorgapally Déployez-vous votre application en tant que fichier EAR? –
L'EAR est générée automatiquement par OEPE –