IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Seam Java Discussion :

Erreur de configuration JSF ejb3 et richFaces


Sujet :

Seam Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Avril 2007
    Messages : 6
    Par défaut Erreur de configuration JSF ejb3 et richFaces
    bonjour, je dois réaliser un site web en J2EE dans le cadre de mes études.
    J'ai choisit d'utiliser Seam-gen afin de me créer un projet eclipse qui me permet d'utiliser le framework JBosse Seam avec JSF, EJB3 et la persistence avec JPA.
    J'utilise une base de donnée MySQL 5.0.

    J'ai réussi à créer le projet sans difficulté. Lorsque que je lance le serveur JBoss, aucun problème, mon projet fonctionne puisque je peux voir une page de présentation sur le navigateur.

    http://localhost:8080/reference/home.seam

    Lorsque je décide de développer mon site je rencontre des erreurs de config (enfin je pense) dont je suis incapable de résoudre.

    J'ai commence par créer le login :

    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
     
    package session;
     
    import javax.ejb.Stateless;
    import javax.persistence.EntityManager;
    import javax.persistence.PersistenceContext;
    import org.jboss.seam.annotations.In;
    import org.jboss.seam.annotations.Logger;
    import org.jboss.seam.annotations.Name;
    import org.jboss.seam.log.Log;
    import org.jboss.seam.security.Identity;
     
     
    @Name("authenticator")
    @Stateless
    public class Authenticator implements Iauthenticator
    {
    	@SuppressWarnings("unused")
    	@PersistenceContext(unitName="reference")
    	protected EntityManager em;
     
        @Logger Log log;
     
        @In Identity identity;
     
        public boolean authenticate()
        {System.out.println("je suis dans la methode authenticator");
            log.info("authenticating #0", identity.getUsername());
            /*
            List results = em.createQuery("select u from utilisateur u where u.username=#{identity.username} and u.password=#{identity.password}")
                  .getResultList();
            
            if ( results.size()==0 )
            {
               return false;
            }
            else
            {
               user = (Utilisateur) results.get(0);
               return true;
            }*/
            identity.addRole("admin");
            return true;
        }
    }
    avec l'entity utilisateur

    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
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
     
    package entity;
     
    import java.io.Serializable;
    import javax.persistence.Entity;
    import javax.persistence.Id;
    import javax.persistence.Table;
    import javax.persistence.Column;
    import org.hibernate.validator.Length;
    import org.hibernate.validator.Pattern;
    import org.jboss.seam.annotations.Name;
    import com.sun.istack.internal.NotNull;
     
    @Entity
    @Name("user")
    @Table(name = "UTILISATEUR")
    public class Utilisateur implements Serializable {
    	/**
             * 
             */
    	private static final long serialVersionUID = 1L;
     
    	private String iduser;
     
    	private String password;
     
    	private String role;
     
    	public Utilisateur() {
    		super();
    	}
     
    	public Utilisateur(String id, String pass, String role){
    		super();
    		this.setIduser(id);
    		this.setPassword(pass);
    		this.setRole(role);
    	}
     
    	@Id
    	@Length(min=4, max=15)
    	@Pattern(regex="^\\w*$", message="not a valid username")
    	@Column(name="iduser")
    	public String getIduser() {
    		return this.iduser;
    	}
    	public void setIduser(String iduser) {
    		this.iduser = iduser;
    	}
     
    	@NotNull
    	@Length(min=5, max=15)
    	@Column(name="PASSWORD")
    	public String getPassword() {
    		return this.password;
    	}
    	public void setPassword(String password) {
    		this.password = password;
    	}
    	@NotNull
    	@Column(name="ROLE")
    	public String getRole() {
    		return this.role;
    	}
    	public void setRole(String role) {
    		this.role = role;
    	}
    }
    et voici la page JSF

    Code xml : 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
    47
    48
    49
    50
     
    <!DOCTYPE composition PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
                          "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <ui:composition xmlns="http://www.w3.org/1999/xhtml"
                    xmlns:s="http://jboss.com/products/seam/taglib"
                    xmlns:ui="http://java.sun.com/jsf/facelets"
                    xmlns:f="http://java.sun.com/jsf/core"
                    xmlns:h="http://java.sun.com/jsf/html"
    		    xmlns:ice="http://www.icesoft.com/icefaces/component"
                    template="layout/template.xhtml">
     
    <ui:define name="body">
     
        <h:messages styleClass="message"/>
     
     <ice:form id="loginFormId">
          <ice:panelGroup  id="loginPanelGroupId" styleClass="formBorderHighlight">
              <table width="100%" border="0" cellspacing="0" cellpadding="0">
                  <tr>
                      <td class="iceDatTblColHdr2">
           			<ice:outputText id="loginTextId" value="Login"/>
                      </td>
                  </tr>
              </table>
     
     
                <p>Please login using any username and password</p>
     
                        <div class="dialog">
                            <h:panelGrid id="loginPanelGridId" columns="2" rowClasses="prop" columnClasses="name,value">
                        <h:outputLabel for="username">Username</h:outputLabel>
                        <h:inputText id="username" 
                                  value="#{identity.username}"/>
                        <h:outputLabel for="password">Password</h:outputLabel>
                        <h:inputSecret id="password" 
                                    value="#{identity.password}"/>
                        <h:outputLabel for="rememberMe">Remember me</h:outputLabel>
                        <h:selectBooleanCheckbox id="rememberMe" 
                                              value="#{identity.rememberMe}"/>
                    </h:panelGrid>
                </div>
     
          </ice:panelGroup>
             <div class="actionButtons">
                <h:commandButton id="loginButtonId" value="Login" action="#{identity.login}"/>
            </div>
     
      </ice:form>      
    </ui:define> 
    </ui:composition>

    Voici alors les messages d'erreurs que j'obtiens lorsque je veux déployer le projet ::

    ObjectName: jboss.j2ee:jar=jboss-seam.jar,name=TimerServiceDispatcher,service=EJ
    B3
    State: FAILED
    Reason: java.lang.NullPointerException

    ObjectName: jboss.j2ee:ear=reference.ear,jar=jboss-seam.jar,name=TimerServiceDis
    patcher,service=EJB3
    State: FAILED
    Reason: java.lang.NullPointerException

    ObjectName: jboss.j2ee:ear=reference.ear,jar=reference.jar,name=Authenticator,se
    rvice=EJB3
    State: FAILED
    Reason: java.lang.NullPointerException
    I Depend On:
    persistence.units:ear=reference.ear,jar=reference.jar,unitName=reference

    --- MBEANS THAT ARE THE ROOT CAUSE OF THE PROBLEM ---
    ObjectName: jboss.jca:service=DataSourceBinding,name=DefaultDS
    State: NOTYETINSTALLED
    Depends On Me:
    jboss.ejb:service=EJBTimerService,persistencePolicy=database
    jboss:service=KeyGeneratorFactory,type=HiLo
    jboss.mq:service=StateManager
    jboss.mq:service=PersistenceManager

    ObjectName: jboss.j2ee:ear=reference.ear,jar=jboss-seam.jar,name=TimerServiceDis
    patcher,service=EJB3
    State: FAILED
    Reason: java.lang.NullPointerException

    ObjectName: jboss.j2ee:ear=reference.ear,jar=reference.jar,name=Authenticator,se
    rvice=EJB3
    State: FAILED
    Reason: java.lang.NullPointerException
    I Depend On:
    persistence.units:ear=reference.ear,jar=reference.jar,unitName=reference

    ObjectName: jboss.j2ee:jar=jboss-seam.jar,name=TimerServiceDispatcher,service=EJ
    B3
    State: FAILED
    Reason: java.lang.NullPointerException
    je ne vois pas trop le problème. Je n'ai pas touché les fichiers de configuration (Web.xml ....) puisque tout est bien configuré en utilisant seam-gen (mais bon biensur rien n'est sur...).

    WEB.XML ::

    Code xml : 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
    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
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
     
    <?xml version="1.0" encoding="UTF-8"?>
    <web-app version="2.5"
             xmlns="http://java.sun.com/xml/ns/javaee"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
     
        <!-- Seam (using Icefaces) generated project-->
     
        <!-- listeners required for this application --> 
        <listener>
            <listener-class>org.jboss.seam.servlet.SeamListener</listener-class>
        </listener>
     
        <listener>
            <listener-class>com.icesoft.faces.util.event.servlet.ContextEventRepeater</listener-class>
        </listener>
     
        <!-- filters -->
        <filter>
            <filter-name>Seam Filter</filter-name>
            <filter-class>org.jboss.seam.servlet.SeamFilter</filter-class>
        </filter>
     
        <filter-mapping>
            <filter-name>Seam Filter</filter-name>
            <url-pattern>/*</url-pattern>
        </filter-mapping>
     
        <context-param>
            <param-name>javax.faces.STATE_SAVING_METHOD</param-name>
            <param-value>server</param-value>
        </context-param>
     
        <!-- Facelets development mode (disable in production) -->
        <context-param>
            <param-name>facelets.DEVELOPMENT</param-name>
            <param-value>true</param-value>
        </context-param>
     
        <context-param>
            <param-name>javax.faces.DEFAULT_SUFFIX</param-name>
            <param-value>.xhtml</param-value>
        </context-param>
     
        <context-param>
            <param-name>com.icesoft.faces.actionURLSuffix</param-name>
            <param-value>.seam</param-value>
        </context-param>
     
        <context-param>
            <param-name>com.icesoft.faces.synchronousUpdate</param-name>
            <param-value>false</param-value>
        </context-param>
     
        <context-param> 
            <param-name>com.icesoft.faces.doJSFStateManagement</param-name>
    	<param-value>true</param-value>
        </context-param> 
     
        <context-param>
            <param-name>org.icesoft.examples.serverClock</param-name>
            <param-value>false</param-value>
        </context-param>
     
        <context-param>
            <param-name>com.icesoft.faces.standardRequestScope</param-name>
            <param-value>true</param-value>
        </context-param>
     
        <!-- servlets -->
        <servlet>
            <servlet-name>Faces Servlet</servlet-name>
            <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
            <load-on-startup>1</load-on-startup>
        </servlet>
     
        <servlet>
            <servlet-name>Seam Resource Servlet</servlet-name>
            <servlet-class>org.jboss.seam.servlet.ResourceServlet</servlet-class>
        </servlet>
     
        <servlet>
            <servlet-name>Persistent Faces Servlet</servlet-name>
            <servlet-class>com.icesoft.faces.webapp.xmlhttp.PersistentFacesServlet</servlet-class>
            <load-on-startup> 1 </load-on-startup>
        </servlet>
        <servlet>
            <servlet-name>Blocking Servlet</servlet-name>
            <servlet-class>com.icesoft.faces.webapp.xmlhttp.BlockingServlet</servlet-class>
            <load-on-startup> 1 </load-on-startup>
        </servlet>  
     
     
        <!-- servlet mappings -->
        <servlet-mapping>
            <servlet-name>Persistent Faces Servlet</servlet-name>
            <url-pattern>*.seam</url-pattern>
        </servlet-mapping>
     
         <servlet-mapping>
            <servlet-name>Persistent Faces Servlet</servlet-name>
            <url-pattern>/xmlhttp/*</url-pattern>
        </servlet-mapping>
     
        <!-- Blocking Servlet Mapping -->
        <servlet-mapping>
            <servlet-name>Blocking Servlet</servlet-name>
            <url-pattern>/block/*</url-pattern>
        </servlet-mapping>
     
        <servlet-mapping>
            <servlet-name>Seam Resource Servlet</servlet-name>
            <url-pattern>/seam/resource/*</url-pattern>
        </servlet-mapping>
     
        <security-constraint> 
            <display-name>Restrict raw XHTML Documents</display-name>
            <web-resource-collection>
                <web-resource-name>XHTML</web-resource-name>
                <url-pattern>*.xhtml</url-pattern>
            </web-resource-collection>
            <auth-constraint>
                <role-name>NONE</role-name>
            </auth-constraint>
        </security-constraint>
     
    </web-app>

    persistence.xml ::

    Code xml : 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
     
    <?xml version="1.0" encoding="UTF-8"?>
    <!-- Persistence deployment descriptor for dev profile -->
    <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="reference">
          <provider>org.hibernate.ejb.HibernatePersistence</provider>
          <jta-data-source>java:/referenceDatasource</jta-data-source>
          <properties>
             <property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect"/>
             <property name="hibernate.hbm2ddl.auto" value="update"/>
             <property name="hibernate.show_sql" value="true"/>
             <property name="hibernate.format_sql" value="true"/>
             <property name="jboss.entity.manager.factory.jndi.name" value="java:/referenceEntityManagerFactory"/>
          </properties>
       </persistence-unit>
     
    </persistence>

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    19
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 19
    Par défaut
    Alors, à mon avis la connexion à la BD ne doit pas se faire bien. Peux-tu nous montrer la déclaration de ta datasource.
    De plus le message d'erreur que tu montre est un compte rendu, on doit pouvoir voir une belle trace d'exception avant, ce serait bien de nous la montrer avec les logs qui précèdent histoire de se faire une idée du moment ou ça pète.

  3. #3
    Membre émérite Avatar de XmasRock
    Inscrit en
    Janvier 2007
    Messages
    729
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 729
    Par défaut
    et aussi les versions de Seam & JBoss AS que tu utilises

  4. #4
    Membre chevronné

    Inscrit en
    Février 2007
    Messages
    122
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 122
    Par défaut
    tu as mis le fichier tonprojet-ds.xml dans le repertoire deploy de ton serveur jboss ?

Discussions similaires

  1. [log4j][debutant] erreur de configuration
    Par hugo123 dans le forum Logging
    Réponses: 2
    Dernier message: 01/12/2006, 14h50
  2. [DEBUTANT] Configuration JSF
    Par BRAUKRIS dans le forum JSF
    Réponses: 1
    Dernier message: 29/11/2006, 13h29
  3. erreur de configuration
    Par tonton12 dans le forum WebDev
    Réponses: 1
    Dernier message: 29/08/2006, 21h24
  4. [Continuum] Bug ou erreur de configuration ?
    Par elitost dans le forum Intégration Continue
    Réponses: 2
    Dernier message: 15/08/2006, 23h11
  5. [VB.NET] Erreur de configuration
    Par toniolol dans le forum ASP.NET
    Réponses: 2
    Dernier message: 04/12/2005, 11h35

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo