Bonjour,
Je développe une application de vente en ligne sous Glassfish Tools Bundle for Eclipse.
En premier lieu j'ai créé mon projet JPA qui contient le mapping de mes tables.
Deuxièment, j'ai créé un projet EJB qui contiendra mes EJB.
Ensuite, j'ai créé un projet de type Entreprise Application Project qui englobe les deux projets précédemment créés.
Et enfin, j'ai créé un Dynamic Web Project pour l'application Client.
Ceci est un bout de code de mon fichier persistence.xml:
Et ceci est mon code EJB
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 ?xml version="1.0" encoding="UTF-8"?> <persistence xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd" version="1.0"> <persistence-unit name="venteCD" transaction-type="JTA"> <jta-data-source>JDBC/gestionPool</jta-data-source> <class>miage.Client</class> </persistence-unit> </persistence>
Et le code de ma page client qui va appeler l'EJB :
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 @Stateless(mappedName="MonSessionBean") @PersistenceContext(unitName="venteCD") public class authentif implements authentifLocal,authentifRemote { private EntityManager em; Client cl; /** * Default constructor. */ public authentif() { // TODO Auto-generated constructor stub } public void runTest(){ if (em == null) { EntityManagerFactory emf = Persistence.createEntityManagerFactory("venteCD"); em = emf.createEntityManager(); System.out.print("Bien fait"); }}}
Je pense que j'ai un peu détaillé mais juste pour que ce soit plus clair.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 <% Properties props = new Properties (); props.setProperty("org.omg.CORBA.ORBInitialHost", "localhost"); props.setProperty("org.omg.CORBA.ORBInitialPort", "3701"); InitialContext ctx = new InitialContext(props); //========================exceution de la rekete daffichage des clients======================================== authentifRemote bean = (authentifRemote) ctx.lookup("MonSessionBean"); bean.runTest(); %>
Le problème est que quand je lance mon application j'ai l'erreur suivante:
Quelqu'un peut-il m'expliquer de quoi il s'agit ?HTTP Status 500 -
--------------------------------------------------------------------------------
type Exception report
message description
The server encountered an internal error () that prevented it from fulfilling this request.
exception
org.apache.jasper.JasperException: javax.ejb.EJBException: nested exception is: java.rmi.ServerException: RemoteException occurred in server thread; nested exception is:
java.rmi.RemoteException: null; nested exception is:
javax.persistence.PersistenceException: No Persistence provider for EntityManager named venteCD: The following providers:
oracle.toplink.essentials.PersistenceProvider
oracle.toplink.essentials.ejb.cmp3.EntityManagerFactoryProvider
Returned null to createEntityManagerFactory.
Merci d'avance
Partager