[EJB] [JSP] Méthode EJB non reconnue dans jsp
Bonjour j'ai un petit problème pour relier ma jsp à mon ejb.
Voici les déclarations qui me posent problème dans ma page jsp:
j'inclus tous les packages dont j'ai besoin (com.GPI.EJB.*....) et lorsque j'appelle m fonction getMessage (voir plus bas) j'ai l'erreur suivante:"la méthode getMessage(java.lang.String) n'est pas reconnue pour le type HelloEJB...pourtant je l'ai bien déclarée dedans...
Code:
1 2 3 4 5
| <% HelloEJBHome helloWorldHome = (HelloEJBHome) javax.rmi.PortableRemoteObject.narrow(object, HelloEJBHome.class); %>
<% HelloEJB helloWorld = (HelloEJB)helloWorldHome.create(); %>
<% String message = helloWorld.getMessage("Hello world"); %> |
Voici mes ejb:
remote:
Code:
1 2 3 4 5 6 7
| package com.GPI.EJB
public interface HelloEJB extends javax.ejb.EJBObject
{
public java.lang.String getMessage(String Message) throws java.rmi.RemoteException;
} |
home:
Code:
1 2 3 4 5 6
| package com.GPI.EJB
public interface HelloEJBHome extends javax.ejb.EJBHome
{
public com.webcomputer.EJB.HelloEJB create() throws javax.ejb.CreateException, java.rmi.RemoteException;
} |
bean:
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
| package com.GPI.EJB;
public class HelloEJBBean implements javax.ejb.SessionBean
{
private javax.ejb.SessionContext mySessionCtx;
public javax.ejb.SessionContext getSessionContext()
{
return mySessionCtx;
}
public void setSessionContext(javax.ejb.SessionContext ctx)
{
mySessionCtx = Ctx;
}
public void ejbCreate() throws javax.ejb.CreateException
{}
public void ejbActivate()
{}
public void ejbPassivate()
{}
public void ejbRemove()
{}
public String getMessage(String Message)
{
return Message;
}
} |
ejb-jar.xml
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems. Inc.//DTD Web Application 2.2//EN""http://java.sun.com/j2ee/dtds/web-app_2_2.dtd">
<ejb-jar id="ejb-jar-ID">
<display-name>GPIEJB</display-name>
<enterprise-beans>
<session id="HelloEJB">
<ejb-name>HelloEJB</ejb-name>
<home>com.GPI.EJB.HelloEJBHome</home>
<remote>com.GPI.EJB.HelloEJB</remote>
<ejb-class>com.GPI.EJB.HelloEJBBean</ejb-class>
<session-type>Stateless</session-type>
<transaction-type>Container</transaction-type>
</session>
</entreprise-beans>
<ejb-jar> |