Bonjour tout le monde,
En ce moment je bosse avec des ejb 3.0 & dans ce cadre j'ai des erreurs.
J'essaye d'appeler un catalogue via une interface :
dont l'interface précise est:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 public static void afficheCatalogue() throws NamingException{ ICatalogue iCatalogue = (ICatalogue)initial.lookup("EjbCatalogue"); //recupération du catalogue List<Article> lArt = iCatalogue.getCatalogue(); // lecture du catalogue Iterator iArt = lArt.iterator(); System.out.println("id\tdesignation\tprix"); while(iArt.hasNext()){ System.out.println(((Article)iArt.next()).affiche()); } }
et le corps de cette méthode est :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 @Remote public interface ICatalogue { public Article addArticle(String libelle, Float prix, int stock); public List<Article> getCatalogue(); public Article updateArticle(Article art); public Article getArticle(int id); }
Maintenant je récupère ça comme comme erreurs :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 @Stateless(mappedName="EjbCatalogue") @Remote(ICatalogue.class) public class CatalogueDAO implements ICatalogue,Serializable { ... @SuppressWarnings("unchecked") public List<Article> getCatalogue(){ Query oQuery = persistenceContext.createQuery("from Article"); return oQuery.getResultList(); } }
la première erreur surlignée est dû à cette ligne :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46 javax.ejb.EJBException: Error while sending a request at org.ow2.easybeans.proxy.client.ClientRPCInvocationHandler.invoke(ClientRPCInvocationHandler.java:147) at $Proxy1.getCatalogue(Unknown Source) at client.Client.afficheCatalogue(Client.java:235) at client.Client.main(Client.java:75) Caused by: java.lang.NullPointerException at java.util.Hashtable.put(Hashtable.java:394) at org.ow2.easybeans.naming.context.ContextImpl.rebind(ContextImpl.java:262) at org.ow2.easybeans.naming.context.ContextImpl.rebind(ContextImpl.java:273) at org.ow2.easybeans.injection.JNDIBinderHelper.bindEnvJndiName(JNDIBinderHelper.java:128) at catalogue.CatalogueDAO.original$EasyBeans$injectedByEasyBeans(CatalogueDAO.java) at org.ow2.easybeans.gen.invocationcontext.catalogue.CatalogueDAO.EasyBeansInvocationContextImploriginal$EasyBeans$injectedByEasyBeansDEPINJECT39797.proceed(Unknown Source) at org.ow2.easybeans.naming.interceptors.TomcatENCInterceptor.intercept(TomcatENCInterceptor.java:174) at org.ow2.easybeans.gen.invocationcontext.catalogue.CatalogueDAO.EasyBeansInvocationContextImploriginal$EasyBeans$injectedByEasyBeansDEPINJECT39797.proceed(Unknown Source) at catalogue.CatalogueDAO.injectedByEasyBeans(CatalogueDAO.java) at org.ow2.easybeans.container.AbsFactory.injectResources(AbsFactory.java:202) at org.ow2.easybeans.container.session.SessionFactory.create(SessionFactory.java:148) at org.ow2.easybeans.container.session.stateless.StatelessSessionFactory.create(StatelessSessionFactory.java:52) at org.ow2.easybeans.pool.JPool.get(JPool.java:275) at org.ow2.easybeans.pool.JPool.get(JPool.java:193) at org.ow2.easybeans.container.session.stateless.StatelessSessionFactory.getBean(StatelessSessionFactory.java:107) at org.ow2.easybeans.container.session.stateless.StatelessSessionFactory.localCall(StatelessSessionFactory.java:128) at org.ow2.easybeans.container.session.SessionFactory.rpcInvoke(SessionFactory.java:181) at org.ow2.easybeans.rpc.rmi.server.RMIServerRPCImpl.getEJBResponse(RMIServerRPCImpl.java:105) at sun.reflect.GeneratedMethodAccessor30.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:305) at org.objectweb.carol.rmi.jrmp.server.JUnicastServerRef.dispatch(JUnicastServerRef.java:143) at sun.rmi.transport.Transport$1.run(Transport.java:159) at java.security.AccessController.doPrivileged(Native Method) at sun.rmi.transport.Transport.serviceCall(Transport.java:155) at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:535) at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:790) at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:649) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907) at java.lang.Thread.run(Thread.java:619) at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(Unknown Source) at org.objectweb.carol.rmi.jrmp.server.JRemoteCall.executeCall(JRemoteCall.java:89) at org.objectweb.carol.rmi.jrmp.server.JUnicastRef.performRemoteCall(JUnicastRef.java:194) at org.objectweb.carol.rmi.jrmp.server.JUnicastRef.invoke(JUnicastRef.java:158) at org.ow2.easybeans.rpc.rmi.server.RMIServerRPCImpl_Stub.getEJBResponse(RMIServerRPCImpl_Stub.java:47) at org.ow2.easybeans.rpc.rmi.client.RMIClientRPC.sendEJBRequest(RMIClientRPC.java:102) at org.ow2.easybeans.proxy.client.ClientRPCInvocationHandler.invoke(ClientRPCInvocationHandler.java:144) ... 3 more
la 2eme erreur est dû à :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 public static void afficheCatalogue() throws NamingException{ ICatalogue iCatalogue = (ICatalogue)initial.lookup("EjbCatalogue"); //recupération du catalogue List<Article> lArt = iCatalogue.getCatalogue();
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 else if (recup.equals("1")) { afficheCatalogue(); } else if (recup.equals("2")) {
Si quelqu'un avait une idée à me suggérer sur l'origine de cette erreur ça serait cool ...
merci d'avance
a+![]()
Partager