uzak Posté(e) le 3 février 2012 Partager Posté(e) le 3 février 2012 Bonjour à tous. Je sèche depuis pas mal de temps sur un petit problème, peut-être que vous pourrez me débloquer : J'essaie d'appeler un ejb depuis un bean httpInvokerServiceExporter. Là je suis pas mal avec la config : <bean name="/TestService" class="org.springframework.remoting.httpinvoker.HttpInvokerServiceExporter" > <property name="service" ref="testServiceEJB" /> <property name="serviceInterface" value="package.shared.services.ITestService" /></bean> <bean name="testServiceEJB" parent="EJBProxy" > <property name="jndiName" value="framework/TestServiceImpl/local"/> <property name="businessInterface" value="package.shared.services.ITestService"/></bean> <bean id="EJBProxy" abstract="true"class="package.framework.server.spring.LocalStatelessSessionProxyFactoryBean"/> En fait, quand j'utilise le LocalStatelessSessionProxyFactoryBean de spring (dans EJBProxy ou directement comme classe du bean testServiceEJB), tout va bien. Mais j'ai besoin d'un proxy factory maison. Et il a pas l'air de le prendre. Je vous montre la log spring : [org.springframework.web.context.ContextLoader] Context initialization failedorg.springframework.beans.factory.BeanCreationException: Error creating bean with name '/TestService' defined in ServletContext resource [/WEB-INF/service-servlet.xml]: Invocation of init method failed; nested exception is java.lang.IllegalArgumentException: Service interface [package.framework.shared.services.ITestService] needs to be implemented by service [package .framework.server.spring.LocalStatelessSessionProxyFactoryBean@133c8e5] of class [package.framework.server.spring.LocalStatelessSessionProxyFactoryBean] Pourtant, mon proxyfactory maison est juste une sous classe du précédent (j'ai même essayé avec une copie conforme et ça marche pas mieux...) Je suis un noob en spring, et je me demande vraiment pourquoi il veut pas proxier comme je veux... Je fais ça parce que j'ai besoin de décapsuler les EJBExceptions qui arrivent des EJB (que je ne peux éviter, puisque les ejb jettent des RuntimeException). Lien vers le commentaire Partager sur d’autres sites More sharing options...
fabien29200 Posté(e) le 4 février 2012 Partager Posté(e) le 4 février 2012 Salut à toi ! Je suis pas un grand connaisseur de Spring, mais au vu du message d'erreur, est-ce que ta classe LocalStatelessSessionProxyFactoryBean implémente ITestService ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
uzak Posté(e) le 6 février 2012 Auteur Partager Posté(e) le 6 février 2012 Je peux pas, ma classe est censée faire le proxy pour tous mes services, pas uniquement celui là. Plus de détails ici : http://stackoverflow.com/questions/9158417/jee-subclassing-localstatelesssessionproxyfactorybean Lien vers le commentaire Partager sur d’autres sites More sharing options...
fabien29200 Posté(e) le 7 février 2012 Partager Posté(e) le 7 février 2012 Et ?? Tu peux très bien implémenter n interfaces non ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
uzak Posté(e) le 7 février 2012 Auteur Partager Posté(e) le 7 février 2012 Non, parce que si j'implémente l'interface, je dois implémenter les méthodes de l'interface. Ca va devenir le foutoir Les gens devront pouvoir ajouter des services sans retoucher cette classe (ils n'auront que la version compilée pour tout dire). J'ai plus l'impression que c'est le proxy spring qui se fait pas. Quand je debug avec la classe LocalStatelessSessionProxyFactoryBean de spring je vois bien un Proxy$21, alors que j'ai ma classe quand ça plante Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.