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 : 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());
		}
	}
dont l'interface précise 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);
}
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
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 : 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 première erreur surlignée est dû à cette ligne :
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();
la 2eme erreur est dû à :

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+