Eli ongelma on yksinkertaisuudessaan seuraava: Servlet käyttää session beania HelloServiceBean (tulostaa vain tervehdyksen "Hello, "), joka toteuttaa bussiness interfacea HelloServiceRemote. Serveri on JBoss 4.2.1.
Tämä toimii (onnistuu hakemaan beanin):
private HelloServiceRemote hello;
.
.
.
String name=request.getParameter("name");
String message=null;
try {
InitialContext context=new InitialContext();
hello=(HelloServiceRemote)context.lookup("EJB_Tutorial/HelloServiceBean/remote");
}
catch (NamingException e) {
e.printStackTrace();
}
if(hello==null){
message="hello bean is null";
}
else{
message=hello.sayHello(name);
}
PrintWriter writer=response.getWriter();
response.setContentType("text/html");
writer.println("");
writer.println(message);
writer.println("");
writer.close();
Tämänkin pitäisi toimia...
@EJB private HelloServiceRemote hello;
.
.
.
String name=request.getParameter("name");
String message=null;
if(hello==null){
message="hello bean is null";
}
else{
message=hello.sayHello(name);
}
PrintWriter writer=response.getWriter();
response.setContentType("text/html");
writer.println("");
writer.println(message);
writer.println("");
writer.close();
...mutta ei kuitenkaan toimi.
Annotaatio @EJB pitäisi käsittääkseni riittää pavun esittelemiseksi, mutta null pointer exception seuraa. Pitääkö ejb-jar.xml:ään (tai jonnekkin muualle) lisätä jotain?
Tämä toimii (onnistuu hakemaan beanin):
private HelloServiceRemote hello;
.
.
.
String name=request.getParameter("name");
String message=null;
try {
InitialContext context=new InitialContext();
hello=(HelloServiceRemote)context.lookup("EJB_Tutorial/HelloServiceBean/remote");
}
catch (NamingException e) {
e.printStackTrace();
}
if(hello==null){
message="hello bean is null";
}
else{
message=hello.sayHello(name);
}
PrintWriter writer=response.getWriter();
response.setContentType("text/html");
writer.println("");
writer.println(message);
writer.println("");
writer.close();
Tämänkin pitäisi toimia...
@EJB private HelloServiceRemote hello;
.
.
.
String name=request.getParameter("name");
String message=null;
if(hello==null){
message="hello bean is null";
}
else{
message=hello.sayHello(name);
}
PrintWriter writer=response.getWriter();
response.setContentType("text/html");
writer.println("");
writer.println(message);
writer.println("");
writer.close();
...mutta ei kuitenkaan toimi.
Annotaatio @EJB pitäisi käsittääkseni riittää pavun esittelemiseksi, mutta null pointer exception seuraa. Pitääkö ejb-jar.xml:ään (tai jonnekkin muualle) lisätä jotain?
Vastaukset
Vanhimmat
Ei vielä vastauksia
Aloittaja odottaa vastauksia. Kerro oma näkemyksesi ensimmäisenä.