Ik probeer via een sessionbean genaamd: Storingsmelder en daarna via de entitybean genaamd UserBean, alle gebruikers uit mijn database (SQLServer 2000) op te vragen. Echter wordt ik constant geconfronteerd met 500 EJBException:; nested exception is: javax.ejb.EJBException: null, met de volgende stacktrace:
Ik heb zelf geen flauw idee meer wat er fout gaat, maar ik denk in ieder geval te zien dat hij wel kan communiceren met de sessionbean, maar snap niet wat daar fout gaat. Hieronder code van mijn entitybean en sessionbean.
Code van entitybean UserHomedie Eclipse/Lomboz zelf heeft gegenereerd:
Code van sessionbean Storingsmelder met aanroep van .findall:
Code van mijn JSP om alle gebruikers weer te geven:
Heeft iemand enig idee waarom ik constant onderstaande fout krijg??????
HTTP ERROR: 500 EJBException:; nested exception is: javax.ejb.EJBException: null RequestURI=/jspweb/storingsmelderUsers.jsp
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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
| 10:13:32,968 INFO [STDOUT] StoringsmelderBean -- ejbCreate
10:13:32,984 INFO [STDOUT] StoringsmelderBean -- ejbCreate
10:13:32,984 INFO [STDOUT] StoringsmelderBean getAllUsers
10:13:32,984 ERROR [LogInterceptor] EJBException:
javax.ejb.EJBException: null
at ejb.java.storingsmelder.StoringsmelderBean.getAllUsers(Storingsmelder
Bean.java:87)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at org.jboss.ejb.StatefulSessionContainer$ContainerInterceptor.invoke(St
atefulSessionContainer.java:824)
at org.jboss.ejb.plugins.SecurityInterceptor.invoke(SecurityInterceptor.
java:130)
at org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invo
ke(CachedConnectionInterceptor.java:186)
at org.jboss.ejb.plugins.StatefulSessionInstanceInterceptor.invoke(State
fulSessionInstanceInterceptor.java:268)
at org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInte
rceptor.java:107)
at org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxIntercep
torCMT.java:237)
at org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:9
8)
at org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:208)
at org.jboss.ejb.StatefulSessionContainer.invoke(StatefulSessionContaine
r.java:380)
at org.jboss.ejb.Container.invoke(Container.java:738)
at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:517)
at org.jboss.invocation.local.LocalInvoker.invoke(LocalInvoker.java:99)
at org.jboss.invocation.InvokerInterceptor.invoke(InvokerInterceptor.jav
a:102)
at org.jboss.proxy.TransactionInterceptor.invoke(TransactionInterceptor.
java:77)
at org.jboss.proxy.SecurityInterceptor.invoke(SecurityInterceptor.java:8
0)
at org.jboss.proxy.ejb.StatefulSessionInterceptor.invoke(StatefulSession
Interceptor.java:117)
at org.jboss.proxy.ClientContainer.invoke(ClientContainer.java:76)
at $Proxy113.getAllUsers(Unknown Source)
at org.apache.jsp.storingsmelderUsers$jsp._jspService(storingsmelderUser
s$jsp.java:138)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:107)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.jasper.servlet.JspServlet$JspServletWrapper.service(JspSer
vlet.java:201)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:3
81)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:473)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:360
)
at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicati
onHandler.java:294)
at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:5
58)
at org.mortbay.http.HttpContext.handle(HttpContext.java:1714)
at org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplication
Context.java:507)
at org.mortbay.http.HttpContext.handle(HttpContext.java:1664)
at org.mortbay.http.HttpServer.service(HttpServer.java:863)
at org.jboss.jetty.Jetty.service(Jetty.java:460)
at org.mortbay.http.HttpConnection.service(HttpConnection.java:775)
at org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:939)
at org.mortbay.http.HttpConnection.handle(HttpConnection.java:792)
at org.mortbay.http.SocketListener.handleConnection(SocketListener.java:
201)
at org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:289)
at org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:455)
10:13:33,000 WARN [jbossweb] WARNING: Exception for /jspweb/storingsmelderUsers
.jsp?: java.rmi.ServerException: EJBException:; nested exception is:
javax.ejb.EJBException: null |
Ik heb zelf geen flauw idee meer wat er fout gaat, maar ik denk in ieder geval te zien dat hij wel kan communiceren met de sessionbean, maar snap niet wat daar fout gaat. Hieronder code van mijn entitybean en sessionbean.
Code van entitybean UserHomedie Eclipse/Lomboz zelf heeft gegenereerd:
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
| /*
* Generated by XDoclet - Do not edit!
*/
package ejb.java.smsbeans;
/**
* Home interface for User.
* @lomboz generated
*/
public interface UserHome
extends javax.ejb.EJBHome
{
public static final String COMP_NAME="java:comp/env/ejb/User";
public static final String JNDI_NAME="UserBean";
public ejb.java.smsbeans.User create(java.lang.Integer userId , java.lang.String userName ,
java.lang.String password , java.lang.String mobileNumber)
throws javax.ejb.CreateException,java.rmi.RemoteException;
public java.util.Collection findAll()
throws javax.ejb.FinderException,java.rmi.RemoteException;
public ejb.java.smsbeans.User findByPrimaryKey(java.lang.Integer pk)
throws javax.ejb.FinderException,java.rmi.RemoteException; |
Code van sessionbean Storingsmelder met aanroep van .findall:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
| /**
* @ejb.interface-method
* tview-type="remote"
**/
public ArrayList getAllUsers()
{
System.out.println("StoringsmelderBean getAllUsers");
Collection users = null;
try
{
users = userHome.findAll();
}
catch (Exception ex)
{
throw new EJBException(ex.getMessage());
}
return copyUsersToDetails(users);
} // getAllUsers |
Code van mijn JSP om alle gebruikers weer te geven:
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
47
48
49
50
| <%@page import="ejb.java.storingsmelder.*" %>
<%@page import="java.util.*" %>
<%@page import="javax.ejb.*"%>
<%@page import="javax.naming.*"%>
<%
StoringsmelderHome storingsmelderHome = null;
Hashtable env = new Hashtable();
env.put(Context.INITIAL_CONTEXT_FACTORY,"org.jnp.interfaces.NamingContextFactory");
env.put(Context.PROVIDER_URL,"rmi://localhost/melder");
InitialContext ctx = new InitialContext();
Object objref = ctx.lookup(StoringsmelderHome.JNDI_NAME);
storingsmelderHome =(StoringsmelderHome)javax.rmi.PortableRemoteObject.narrow
(objref, StoringsmelderHome.class);
String zooi;
Storingsmelder storingsmelder =null;
try
{
storingsmelder = storingsmelderHome.create();
}
catch (javax.ejb.NoSuchEntityException e)
{
e.printStackTrace();
}
out.println("<center><BR><TABLE BORDER=1 BGCOLOR=#FFFFFF>");
out.println("<TR><TD COLSPAN=4>Sms gebruikers: </TD></TR>");
out.println("<TR><TD><B>Gebruiker ID</B></TD>");
out.println("<TD>Gebruikersnaam</TD>");
out.println("<TD>Wachtwoord</TD>");
out.println("<TD>Mobiele nummer</TD></TR>");
ArrayList userList = null;
storingsmelder = storingsmelderHome.create();
userList = storingsmelder.getAllUsers();
Iterator i = userList.iterator();
while (i.hasNext())
{
out.println("<TR>");
String details = (String)i.next();
StringTokenizer st = new StringTokenizer(details,",");
while( st.hasMoreTokens() )
{
out.println("<TD>"+(String)st.nextToken() + "</TD>");
}
out.println("</TR>");
}
out.println("</TABLE><center>");
%> |
Heeft iemand enig idee waarom ik constant onderstaande fout krijg??????
HTTP ERROR: 500 EJBException:; nested exception is: javax.ejb.EJBException: null RequestURI=/jspweb/storingsmelderUsers.jsp