[EasyBean] catalogue & erreur!
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 :
Code:
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());
}
} |
dont l'interface précise est:
Code:
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);
} |
et le corps de cette méthode est :
Code:
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();
}
} |
Maintenant je récupère ça comme comme erreurs :
Code:
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 première erreur surlignée est dû à cette ligne :
Code:
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(); |
la 2eme erreur est dû à :
Code:
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+:king: