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

Glassfish et Payara Java Discussion :

Erreur EJB/JPA sous Glassfish


Sujet :

Glassfish et Payara Java

  1. #1
    Invité
    Invité(e)
    Par défaut Erreur EJB/JPA sous Glassfish
    Bonsoir la communauté!

    J'ai un probleme avec une architecture EJB/JPA...
    Probleme que j'ai deja rencontré et que j'ai resolu a chaque fois je ne sais trop comment!!! malheureusement ce coup ci, je nage completement, ainsi je demande vos competances.

    A la base, j'avais une BDD et un projet java 3tiers fonctionel, le client est un projet web (JSP/Servlet) les controlers sont mes ejbs3 et le mapping est assuré par eclipseLink..;

    Apres concertation avec mes collegues, nous avons modifié les tables de la BDD car les types n'etaient pas terribles...
    J'ai ensuite recréé mes entités sous eclipse apartir de la nouvelle BDD...et je me retrouve avec une erreur que je ne sais resoudre.

    voici une classe de test en mode console
    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
    package test;
     
     
    import java.util.Hashtable;
    import javax.naming.InitialContext;
    import javax.naming.NamingException;
     
    import ejb3.ContratEJB_Remote;
     
    import entite.Contrat;
     
    public class DialogueEJB {
     
    	/**
             * @param args
             * @throws NamingException 
             */
    	public static void main(String[] args) throws NamingException {
     
     
    		ContratEJB_Remote proxy = null;
    		InitialContext ctx;
     
     
          Hashtable<String,String> vEnv = new Hashtable<String,String>();
          vEnv.put("org.omg.CORBA.ORBInitialHost","127.0.0.1");
          vEnv.put("org.omg.CORBA.ORBInitialPort","3700");
          ctx = new InitialContext(vEnv); 
     
     
     
          String chemin=ContratEJB_Remote.class.getName();
          proxy = (ContratEJB_Remote) ctx.lookup(chemin);
     
          Contrat contrat=new Contrat();
     
          contrat.setNumcon("6");
     
     
          contrat= proxy.ChercherContrat(contrat);
     
         System.out.println( contrat.getDatcon());
          ctx.close();
     
    	}
     
    }
    Voici l'interface de 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
    package ejb3;
     
    import javax.ejb.Remote;
    import entite.Contrat;
     
     
    @Remote
    public interface ContratEJB_Remote {
     
    	public abstract Contrat ChercherContrat(Contrat contrat);
     
    	public abstract Contrat EcrireContrat(Contrat contrat);
     
    }
    Voici la classe de 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
    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
    package ejb3;
     
    import javax.ejb.Stateless;
    import javax.persistence.EntityManager;
    import javax.persistence.PersistenceContext;
    import entite.Contrat;
     
     
     
     
    @Stateless(name="ContratEJB")
    public class ContratEJB implements ContratEJB_Remote{
     
    	 @PersistenceContext(name="EJB")
    	  private EntityManager em;
     
     
    	public ContratEJB(){
     
     
    	}
     
    	public Contrat ChercherContrat(Contrat contrat){
     
     
    		contrat=em.find(Contrat.class, contrat.getNumcon());
     
    //*********Lié au  fetch=FetchType.LAZY*****************************************************************************//
    	if(contrat!=null)	{
    		contrat.getEquipements().size();
     
    	}
    //************************************************************************************************************************************//		
    		System.out.println("EJB --->"+contrat.getEquipements().toString());
    return contrat;
     
    	}
     
    	public Contrat EcrireContrat(Contrat contrat){
     
    		em.persist(contrat);
     
     
    		return contrat;
     
     
    	}
     
     
    }
    Mon persistence.xml
    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
    <?xml version="1.0" encoding="UTF-8"?>
    <persistence version="2.0" 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_2_0.xsd">
    	<persistence-unit name="EJB" transaction-type="JTA">
     
    		<jta-data-source>jdbc/_maint</jta-data-source>
    		<class>entite.Typepanne</class>
    		<class>entite.Typemod</class>
    		<class>entite.Tarif</class>
    		<class>entite.Specialite</class>
    		<class>entite.Secteur</class>
    		<class>entite.Nature</class>
    		<class>entite.Modele</class>
    		<class>entite.Intervention</class>
    		<class>entite.Facture</class>
    		<class>entite.Equipement</class>
    		<class>entite.Depanneur</class>
    		<class>entite.Contrat</class>
    		<class>entite.CompterenduPK</class>
    		<class>entite.Compterendu</class>
    		<class>entite.ComposantPK</class>
    		<class>entite.Composant</class>
    		<class>entite.Commande</class>
    		<class>entite.Client</class>
    		<class>entite.Centreinformatique</class>
    		<class>entite.Atelier</class>
    		<class>entite.Article</class>
    		<properties>
     
    		</properties>
    	</persistence-unit>
    </persistence>

    et l'exception
    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
    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
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    6 déc. 2010 18:52:30 com.sun.enterprise.transaction.JavaEETransactionManagerSimplified initDelegates
    INFO: Using com.sun.enterprise.transaction.jts.JavaEETransactionManagerJTSDelegate as the delegate
    6 déc. 2010 18:52:31 com.sun.corba.ee.impl.encoding.CDRInputStream_1_0 readRMIIIOPValueType
    ATTENTION: "IOP00810211: (MARSHAL) Exception from readValue on ValueHandler in CDRInputStream"
    org.omg.CORBA.MARSHAL:   vmcid: SUN  minor code: 211 completed: Maybe
    	at com.sun.corba.ee.impl.logging.ORBUtilSystemException.valuehandlerReadException(ORBUtilSystemException.java:8888)
    	at com.sun.corba.ee.impl.encoding.CDRInputStream_1_0.readRMIIIOPValueType(CDRInputStream_1_0.java:1076)
    	at com.sun.corba.ee.impl.encoding.CDRInputStream_1_0.read_value(CDRInputStream_1_0.java:1175)
    	at com.sun.corba.ee.impl.encoding.CDRInputStream_1_0.read_value(CDRInputStream_1_0.java:986)
    	at com.sun.corba.ee.impl.encoding.CDRInputObject.read_value(CDRInputObject.java:646)
    	at com.sun.corba.ee.impl.corba.TCUtility.unmarshalIn(TCUtility.java:286)
    	at com.sun.corba.ee.impl.corba.AnyImpl.read_value(AnyImpl.java:611)
    	at com.sun.corba.ee.impl.encoding.CDRInputStream_1_0.read_any(CDRInputStream_1_0.java:829)
    	at com.sun.corba.ee.impl.encoding.CDRInputObject.read_any(CDRInputObject.java:583)
    	at com.sun.corba.ee.impl.javax.rmi.CORBA.Util.readAny(Util.java:461)
    	at com.sun.corba.ee.impl.io.ValueHandlerImpl.read_Array(ValueHandlerImpl.java:704)
    	at com.sun.corba.ee.impl.io.ValueHandlerImpl.readValueInternal(ValueHandlerImpl.java:361)
    	at com.sun.corba.ee.impl.io.ValueHandlerImpl.readValue(ValueHandlerImpl.java:320)
    	at com.sun.corba.ee.impl.encoding.CDRInputStream_1_0.readRMIIIOPValueType(CDRInputStream_1_0.java:1066)
    	at com.sun.corba.ee.impl.encoding.CDRInputStream_1_0.read_value(CDRInputStream_1_0.java:1175)
    	at com.sun.corba.ee.impl.encoding.CDRInputObject.read_value(CDRInputObject.java:655)
    	at com.sun.corba.ee.impl.io.IIOPInputStream.inputObjectField(IIOPInputStream.java:2298)
    	at com.sun.corba.ee.impl.io.IIOPInputStream.inputClassFields(IIOPInputStream.java:2552)
    	at com.sun.corba.ee.impl.io.IIOPInputStream.inputObject(IIOPInputStream.java:1310)
    	at com.sun.corba.ee.impl.io.IIOPInputStream.simpleReadObject(IIOPInputStream.java:449)
    	at com.sun.corba.ee.impl.io.ValueHandlerImpl.readValueInternal(ValueHandlerImpl.java:364)
    	at com.sun.corba.ee.impl.io.ValueHandlerImpl.readValue(ValueHandlerImpl.java:320)
    	at com.sun.corba.ee.impl.encoding.CDRInputStream_1_0.readRMIIIOPValueType(CDRInputStream_1_0.java:1066)
    	at com.sun.corba.ee.impl.encoding.CDRInputStream_1_0.read_value(CDRInputStream_1_0.java:1175)
    	at com.sun.corba.ee.impl.encoding.CDRInputObject.read_value(CDRInputObject.java:655)
    	at com.sun.corba.ee.impl.io.IIOPInputStream.inputObjectField(IIOPInputStream.java:2298)
    	at com.sun.corba.ee.impl.io.IIOPInputStream.inputClassFields(IIOPInputStream.java:2552)
    	at com.sun.corba.ee.impl.io.IIOPInputStream.inputObject(IIOPInputStream.java:1310)
    	at com.sun.corba.ee.impl.io.IIOPInputStream.simpleReadObject(IIOPInputStream.java:449)
    	at com.sun.corba.ee.impl.io.ValueHandlerImpl.readValueInternal(ValueHandlerImpl.java:364)
    	at com.sun.corba.ee.impl.io.ValueHandlerImpl.readValue(ValueHandlerImpl.java:320)
    	at com.sun.corba.ee.impl.encoding.CDRInputStream_1_0.readRMIIIOPValueType(CDRInputStream_1_0.java:1066)
    	at com.sun.corba.ee.impl.encoding.CDRInputStream_1_0.read_value(CDRInputStream_1_0.java:1175)
    	at com.sun.corba.ee.impl.encoding.CDRInputObject.read_value(CDRInputObject.java:655)
    	at com.sun.corba.ee.impl.io.IIOPInputStream.inputObjectField(IIOPInputStream.java:2298)
    	at com.sun.corba.ee.impl.io.IIOPInputStream.inputClassFields(IIOPInputStream.java:2552)
    	at com.sun.corba.ee.impl.io.IIOPInputStream.inputObject(IIOPInputStream.java:1310)
    	at com.sun.corba.ee.impl.io.IIOPInputStream.simpleReadObject(IIOPInputStream.java:449)
    	at com.sun.corba.ee.impl.io.ValueHandlerImpl.readValueInternal(ValueHandlerImpl.java:364)
    	at com.sun.corba.ee.impl.io.ValueHandlerImpl.readValue(ValueHandlerImpl.java:320)
    	at com.sun.corba.ee.impl.encoding.CDRInputStream_1_0.readRMIIIOPValueType(CDRInputStream_1_0.java:1066)
    	at com.sun.corba.ee.impl.encoding.CDRInputStream_1_0.read_value(CDRInputStream_1_0.java:1175)
    	at com.sun.corba.ee.impl.encoding.CDRInputObject.read_value(CDRInputObject.java:655)
    	at com.sun.corba.ee.impl.io.IIOPInputStream.inputObjectField(IIOPInputStream.java:2198)
    	at com.sun.corba.ee.impl.io.IIOPInputStream.inputClassFields(IIOPInputStream.java:2689)
    	at com.sun.corba.ee.impl.io.IIOPInputStream.inputObjectUsingFVD(IIOPInputStream.java:1825)
    	at com.sun.corba.ee.impl.io.IIOPInputStream.simpleReadObject(IIOPInputStream.java:447)
    	at com.sun.corba.ee.impl.io.ValueHandlerImpl.readValueInternal(ValueHandlerImpl.java:364)
    	at com.sun.corba.ee.impl.io.ValueHandlerImpl.readValue(ValueHandlerImpl.java:320)
    	at com.sun.corba.ee.impl.encoding.CDRInputStream_1_0.readRMIIIOPValueType(CDRInputStream_1_0.java:1066)
    	at com.sun.corba.ee.impl.encoding.CDRInputStream_1_0.read_value(CDRInputStream_1_0.java:1175)
    	at com.sun.corba.ee.impl.encoding.CDRInputStream_1_0.read_value(CDRInputStream_1_0.java:986)
    	at com.sun.corba.ee.impl.encoding.CDRInputObject.read_value(CDRInputObject.java:646)
    	at com.sun.corba.ee.impl.corba.TCUtility.unmarshalIn(TCUtility.java:286)
    	at com.sun.corba.ee.impl.corba.AnyImpl.read_value(AnyImpl.java:611)
    	at com.sun.corba.ee.impl.encoding.CDRInputStream_1_0.read_any(CDRInputStream_1_0.java:829)
    	at com.sun.corba.ee.impl.encoding.CDRInputObject.read_any(CDRInputObject.java:583)
    	at com.sun.corba.ee.impl.javax.rmi.CORBA.Util.readAny(Util.java:461)
    	at com.sun.corba.ee.impl.io.ValueHandlerImpl.read_Array(ValueHandlerImpl.java:704)
    	at com.sun.corba.ee.impl.io.ValueHandlerImpl.readValueInternal(ValueHandlerImpl.java:361)
    	at com.sun.corba.ee.impl.io.ValueHandlerImpl.readValue(ValueHandlerImpl.java:320)
    	at com.sun.corba.ee.impl.encoding.CDRInputStream_1_0.readRMIIIOPValueType(CDRInputStream_1_0.java:1066)
    	at com.sun.corba.ee.impl.encoding.CDRInputStream_1_0.read_value(CDRInputStream_1_0.java:1175)
    	at com.sun.corba.ee.impl.encoding.CDRInputObject.read_value(CDRInputObject.java:655)
    	at com.sun.corba.ee.impl.io.IIOPInputStream.inputObjectField(IIOPInputStream.java:2298)
    	at com.sun.corba.ee.impl.io.IIOPInputStream.inputClassFields(IIOPInputStream.java:2552)
    	at com.sun.corba.ee.impl.io.IIOPInputStream.inputObject(IIOPInputStream.java:1310)
    	at com.sun.corba.ee.impl.io.IIOPInputStream.simpleReadObject(IIOPInputStream.java:449)
    	at com.sun.corba.ee.impl.io.ValueHandlerImpl.readValueInternal(ValueHandlerImpl.java:364)
    	at com.sun.corba.ee.impl.io.ValueHandlerImpl.readValue(ValueHandlerImpl.java:320)
    	at com.sun.corba.ee.impl.encoding.CDRInputStream_1_0.readRMIIIOPValueType(CDRInputStream_1_0.java:1066)
    	at com.sun.corba.ee.impl.encoding.CDRInputStream_1_0.read_value(CDRInputStream_1_0.java:1175)
    	at com.sun.corba.ee.impl.encoding.CDRInputObject.read_value(CDRInputObject.java:655)
    	at com.sun.corba.ee.impl.io.IIOPInputStream.inputObjectField(IIOPInputStream.java:2298)
    	at com.sun.corba.ee.impl.io.IIOPInputStream.inputClassFields(IIOPInputStream.java:2552)
    	at com.sun.corba.ee.impl.io.IIOPInputStream.inputObject(IIOPInputStream.java:1310)
    	at com.sun.corba.ee.impl.io.IIOPInputStream.simpleReadObject(IIOPInputStream.java:449)
    	at com.sun.corba.ee.impl.io.ValueHandlerImpl.readValueInternal(ValueHandlerImpl.java:364)
    	at com.sun.corba.ee.impl.io.ValueHandlerImpl.readValue(ValueHandlerImpl.java:320)
    	at com.sun.corba.ee.impl.encoding.CDRInputStream_1_0.readRMIIIOPValueType(CDRInputStream_1_0.java:1066)
    	at com.sun.corba.ee.impl.encoding.CDRInputStream_1_0.read_value(CDRInputStream_1_0.java:1175)
    	at com.sun.corba.ee.impl.encoding.CDRInputObject.read_value(CDRInputObject.java:655)
    	at com.sun.corba.ee.impl.io.IIOPInputStream.inputObjectField(IIOPInputStream.java:2298)
    	at com.sun.corba.ee.impl.io.IIOPInputStream.inputClassFields(IIOPInputStream.java:2552)
    	at com.sun.corba.ee.impl.io.IIOPInputStream.inputObject(IIOPInputStream.java:1310)
    	at com.sun.corba.ee.impl.io.IIOPInputStream.simpleReadObject(IIOPInputStream.java:449)
    	at com.sun.corba.ee.impl.io.ValueHandlerImpl.readValueInternal(ValueHandlerImpl.java:364)
    	at com.sun.corba.ee.impl.io.ValueHandlerImpl.readValue(ValueHandlerImpl.java:320)
    	at com.sun.corba.ee.impl.encoding.CDRInputStream_1_0.readRMIIIOPValueType(CDRInputStream_1_0.java:1066)
    	at com.sun.corba.ee.impl.encoding.CDRInputStream_1_0.read_value(CDRInputStream_1_0.java:1175)
    	at com.sun.corba.ee.impl.encoding.CDRInputObject.read_value(CDRInputObject.java:655)
    	at com.sun.corba.ee.impl.presentation.rmi.DynamicMethodMarshallerImpl$14.read(DynamicMethodMarshallerImpl.java:383)
    	at com.sun.corba.ee.impl.presentation.rmi.DynamicMethodMarshallerImpl.readResult(DynamicMethodMarshallerImpl.java:484)
    	at com.sun.corba.ee.impl.presentation.rmi.StubInvocationHandlerImpl.privateInvoke(StubInvocationHandlerImpl.java:190)
    	at com.sun.corba.ee.impl.presentation.rmi.StubInvocationHandlerImpl.invoke(StubInvocationHandlerImpl.java:147)
    	at com.sun.corba.ee.impl.presentation.rmi.codegen.CodegenStubBase.invoke(CodegenStubBase.java:225)
    	at ejb3.__ContratEJB_Remote_Remote_DynamicStub.ChercherContrat(ejb3/__ContratEJB_Remote_Remote_DynamicStub.java)
    	at ejb3._ContratEJB_Remote_Wrapper.ChercherContrat(ejb3/_ContratEJB_Remote_Wrapper.java)
    	at test.DialogueEJB.main(DialogueEJB.java:40)
    Caused by: java.io.IOException: Mismatched serialization UIDs : Source (Rep. IDRMI:org.eclipse.persistence.internal.helper.DatabaseField:35AFDE8047B17138:DB1D9E165C8D1D3B) = DB1D9E165C8D1D3B whereas Target (Rep. ID RMI:org.eclipse.persistence.internal.helper.DatabaseField:A73A17ED08FDA55B:4DFEA6FBCB1DD831) = 4DFEA6FBCB1DD831
    	at com.sun.corba.ee.impl.util.RepositoryId.useFullValueDescription(RepositoryId.java:675)
    	at com.sun.corba.ee.impl.util.RepositoryId.useFullValueDescription(RepositoryId.java:635)
    	at com.sun.corba.ee.impl.io.ValueHandlerImpl.useFullValueDescription(ValueHandlerImpl.java:420)
    	at com.sun.corba.ee.impl.io.IIOPInputStream.simpleReadObject(IIOPInputStream.java:446)
    	at com.sun.corba.ee.impl.io.ValueHandlerImpl.readValueInternal(ValueHandlerImpl.java:364)
    	at com.sun.corba.ee.impl.io.ValueHandlerImpl.readValue(ValueHandlerImpl.java:320)
    	at com.sun.corba.ee.impl.encoding.CDRInputStream_1_0.readRMIIIOPValueType(CDRInputStream_1_0.java:1066)
    	... 97 more
    6 déc. 2010 18:52:31 com.sun.corba.ee.impl.encoding.CDRInputStream_1_0 readRMIIIOPValueType
    ATTENTION: "IOP00810211: (MARSHAL) Exception from readValue on ValueHandler in CDRInputStream"
    org.omg.CORBA.MARSHAL:   vmcid: SUN  minor code: 211 completed: Maybe
    	at com.sun.corba.ee.impl.logging.ORBUtilSystemException.valuehandlerReadException(ORBUtilSystemException.java:8888)
    	at com.sun.corba.ee.impl.encoding.CDRInputStream_1_0.readRMIIIOPValueType(CDRInputStream_1_0.java:1076)
    	at com.sun.corba.ee.impl.encoding.CDRInputStream_1_0.read_value(CDRInputStream_1_0.java:1175)
    	at com.sun.corba.ee.impl.encoding.CDRInputStream_1_0.read_value(CDRInputStream_1_0.java:986)
    	at com.sun.corba.ee.impl.encoding.CDRInputObject.read_value(CDRInputObject.java:646)
    	at com.sun.corba.ee.impl.corba.TCUtility.unmarshalIn(TCUtility.java:286)
    	at com.sun.corba.ee.impl.corba.AnyImpl.read_value(AnyImpl.java:611)
    	at com.sun.corba.ee.impl.encoding.CDRInputStream_1_0.read_any(CDRInputStream_1_0.java:829)
    	at com.sun.corba.ee.impl.encoding.CDRInputObject.read_any(CDRInputObject.java:583)
    	at com.sun.corba.ee.impl.javax.rmi.CORBA.Util.readAny(Util.java:461)
    	at com.sun.corba.ee.impl.io.ValueHandlerImpl.read_Array(ValueHandlerImpl.java:704)
    	at com.sun.corba.ee.impl.io.ValueHandlerImpl.readValueInternal(ValueHandlerImpl.java:361)
    	at com.sun.corba.ee.impl.io.ValueHandlerImpl.readValue(ValueHandlerImpl.java:320)
    	at com.sun.corba.ee.impl.encoding.CDRInputStream_1_0.readRMIIIOPValueType(CDRInputStream_1_0.java:1066)
    	at com.sun.corba.ee.impl.encoding.CDRInputStream_1_0.read_value(CDRInputStream_1_0.java:1175)
    	at com.sun.corba.ee.impl.encoding.CDRInputObject.read_value(CDRInputObject.java:655)
    	at com.sun.corba.ee.impl.io.IIOPInputStream.inputObjectField(IIOPInputStream.java:2298)
    	at com.sun.corba.ee.impl.io.IIOPInputStream.inputClassFields(IIOPInputStream.java:2552)
    	at com.sun.corba.ee.impl.io.IIOPInputStream.inputObject(IIOPInputStream.java:1310)
    	at com.sun.corba.ee.impl.io.IIOPInputStream.simpleReadObject(IIOPInputStream.java:449)
    	at com.sun.corba.ee.impl.io.ValueHandlerImpl.readValueInternal(ValueHandlerImpl.java:364)
    	at com.sun.corba.ee.impl.io.ValueHandlerImpl.readValue(ValueHandlerImpl.java:320)
    	at com.sun.corba.ee.impl.encoding.CDRInputStream_1_0.readRMIIIOPValueType(CDRInputStream_1_0.java:1066)
    	at com.sun.corba.ee.impl.encoding.CDRInputStream_1_0.read_value(CDRInputStream_1_0.java:1175)
    	at com.sun.corba.ee.impl.encoding.CDRInputObject.read_value(CDRInputObject.java:655)
    	at com.sun.corba.ee.impl.io.IIOPInputStream.inputObjectField(IIOPInputStream.java:2298)
    	at com.sun.corba.ee.impl.io.IIOPInputStream.inputClassFields(IIOPInputStream.java:2552)
    	at com.sun.corba.ee.impl.io.IIOPInputStream.inputObject(IIOPInputStream.java:1310)
    	at com.sun.corba.ee.impl.io.IIOPInputStream.simpleReadObject(IIOPInputStream.java:449)
    	at com.sun.corba.ee.impl.io.ValueHandlerImpl.readValueInternal(ValueHandlerImpl.java:364)
    	at com.sun.corba.ee.impl.io.ValueHandlerImpl.readValue(ValueHandlerImpl.java:320)
    	at com.sun.corba.ee.impl.encoding.CDRInputStream_1_0.readRMIIIOPValueType(CDRInputStream_1_0.java:1066)
    	at com.sun.corba.ee.impl.encoding.CDRInputStream_1_0.read_value(CDRInputStream_1_0.java:1175)
    	at com.sun.corba.ee.impl.encoding.CDRInputObject.read_value(CDRInputObject.java:655)
    	at com.sun.corba.ee.impl.io.IIOPInputStream.inputObjectField(IIOPInputStream.java:2298)
    	at com.sun.corba.ee.impl.io.IIOPInputStream.inputClassFields(IIOPInputStream.java:2552)
    	at com.sun.corba.ee.impl.io.IIOPInputStream.inputObject(IIOPInputStream.java:1310)
    	at com.sun.corba.ee.impl.io.IIOPInputStream.simpleReadObject(IIOPInputStream.java:449)
    	at com.sun.corba.ee.impl.io.ValueHandlerImpl.readValueInternal(ValueHandlerImpl.java:364)
    	at com.sun.corba.ee.impl.io.ValueHandlerImpl.readValue(ValueHandlerImpl.java:320)
    	at com.sun.corba.ee.impl.encoding.CDRInputStream_1_0.readRMIIIOPValueType(CDRInputStream_1_0.java:1066)
    	at com.sun.corba.ee.impl.encoding.CDRInputStream_1_0.read_value(CDRInputStream_1_0.java:1175)
    	at com.sun.corba.ee.impl.encoding.CDRInputObject.read_value(CDRInputObject.java:655)
    	at com.sun.corba.ee.impl.presentation.rmi.DynamicMethodMarshallerImpl$14.read(DynamicMethodMarshallerImpl.java:383)
    	at com.sun.corba.ee.impl.presentation.rmi.DynamicMethodMarshallerImpl.readResult(DynamicMethodMarshallerImpl.java:484)
    	at com.sun.corba.ee.impl.presentation.rmi.StubInvocationHandlerImpl.privateInvoke(StubInvocationHandlerImpl.java:190)
    	at com.sun.corba.ee.impl.presentation.rmi.StubInvocationHandlerImpl.invoke(StubInvocationHandlerImpl.java:147)
    	at com.sun.corba.ee.impl.presentation.rmi.codegen.CodegenStubBase.invoke(CodegenStubBase.java:225)
    	at ejb3.__ContratEJB_Remote_Remote_DynamicStub.ChercherContrat(ejb3/__ContratEJB_Remote_Remote_DynamicStub.java)
    	at ejb3._ContratEJB_Remote_Wrapper.ChercherContrat(ejb3/_ContratEJB_Remote_Wrapper.java)
    	at test.DialogueEJB.main(DialogueEJB.java:40)
     
    {...}
    Dans la console sous glassfish on peut remarquer par contre que l'entité que je cherche a recuperer via la methode "find()" fonctionne....
    la sortie ecran au sein de l'EJB de l'entité contrat renvoie bien les valeurs...
    l'erreur se situe au niveau du return vers mon client.
    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
    INFO: entite.Intervention actually got transformed
    INFO: entite.Specialite actually got transformed
    INFO: entite.Typemod actually got transformed
    INFO: entite.Modele actually got transformed
    INFO: entite.Tarif actually got transformed
    INFO: entite.Secteur actually got transformed
    INFO: entite.Centreinformatique actually got transformed
    INFO: entite.Nature actually got transformed
    INFO: entite.Article actually got transformed
    INFO: entite.Equipement actually got transformed
    INFO: entite.Composant actually got transformed
    INFO: entite.Compterendu actually got transformed
    INFO: entite.Facture actually got transformed
    INFO: entite.Client actually got transformed
    INFO: entite.CompterenduPK actually got transformed
    INFO: entite.ComposantPK actually got transformed
    INFO: entite.Commande actually got transformed
    INFO: entite.Atelier actually got transformed
    INFO: Instantiated an instance of org.hibernate.validator.engine.resolver.JPATraversableResolver.
    INFO: EclipseLink, version: Eclipse Persistence Services - 2.0.1.v20100213-r6600
    INFO: file:/C:/glassfishv3/glassfish/domains/domain1/eclipseApps/EJB/_EJB login successful
    INFO: EJB --->{[entite.Equipement@1372611]}
    Il y a peu d'information sur cette erreur, le peu que j'ai trouvé concernait le
    "private static final long serialVersionUID = 1L;" qui doit exister dans toute les entités et c'est le cas

    Mon client et mon serveur tourne bien sous le m JDK 1.6.0.22
    Merci!!!!!

  2. #2
    Rédacteur
    Avatar de darrylsite
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    1 299
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 299
    Points : 2 501
    Points
    2 501
    Par défaut
    Entre autre, j'ai remarqué que le chemin vers la ressource JNDI que tvous utilisé ne respecte pas la convention. Le chemin devrait ressembler à truc du genre : "java:comp/env/projet/ressource" suivant les cas.

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 52
    Points : 70
    Points
    70
    Par défaut
    Cas où j'ai eut la même erreur.

    6 déc. 2010 18:52:31 com.sun.corba.ee.impl.encoding.CDRInputStream_1_0 readRMIIIOPValueType
    ATTENTION: "IOP00810211: (MARSHAL) Exception from readValue on ValueHandler in CDRInputStream"
    org.omg.CORBA.MARSHAL: vmcid: SUN minor code: 211 completed: Maybe
    Corba n'arrive pas à lire le retour.
    J'explique avec exemple concret :
    J'ai un ejb3 qui fait une requête sur le sgbdr postgres.
    Je l'appel en remote.
    Si a tout hasard, je n'ai pas mis le driver postgres dans le classpath de mon application cliente, normal l'appli cliente (interface web par exemple) ne fait pas de requête direct à ma bdd.
    Alors l'application cliente ne connait pas les objets de type org.potgresql.SQLException.

    Donc si mon ejb lors d'une requête retourne une SQLException et que je suis en remote, j'ai une exception Corba (utilisé par RMI donc par ejb en remote).
    Car le client ne connait pas l'objet que tu lui redonne.
    Quand il te dit marshal Exception, c'est ce qu'il essai de te dire.


    Mais Glassfish lui te donnera l'exception SQLException (normal).

    Pour l'exemple que j'ai donné y'a 3 solutions :
    - on s'en fous d'avoir une CorbaException (pas vraiment une solution)
    - on donne tous ce qu'il faut au client pour comprendre tout ce que manipule l'appli. (j'aime pas du tout)
    - il faut intercepter les exceptions voulues dans les ejb et remonter ces propres exception (attention aux transactions)


    Pour ton cas, y'a pas d'erreur dans la log Glassfish donc je pense qu'il n'y a pas d'exception dans l'ejb mais que ton client ne connait pas le type que tu lui renvoi.
    C'est bizarre parce que t'as bien importer Contrat dans ton Client.

    Y'a pas de blague tes import "import entite.Contrat;" c'est partout la même classe, c'est pas des versions différentes ?

    Essai un accès remote simple :
    un méthode dans ton ejb qui renvoi juste un String "hello world". Sans JPA ni rien juste pour tester l'accès remote

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 52
    Points : 70
    Points
    70
    Par défaut
    Citation Envoyé par darrylsite Voir le message
    Entre autre, j'ai remarqué que le chemin vers la ressource JNDI que tvous utilisé ne respecte pas la convention. Le chemin devrait ressembler à truc du genre : "java:comp/env/projet/ressource" suivant les cas.
    C'est vrai, mais j'utilise la même chose que lui avec glassfish, comme lui et ça marche.
    De plus, il appel bien l'ejb, c'est le retour qui coince.

  5. #5
    Invité
    Invité(e)
    Par défaut
    Y'a pas de blague tes import "import entite.Contrat;" c'est partout la même classe, c'est pas des versions différentes ?
    oui j'avais copié mes entités dans chaque projet (ejb/client)
    Je n'ai jamais rellement resolu le probleme mais voila ce que je peux dire :

    Lorsque les references de l'entité a ramener au client sont de type EAGER, aucun probleme. En lazy ca bloque, pourtant je ne cherche pas a recuperer specialement la reference une fois dans le client.

    Pris par le temps, j'ai créé le projet final qui est de type projet web dynamique JSF avec les memes librairies plus celle de jsf bien entendu, et tout fonctionne.

    Aujourd'hui, ayant un peu de temps, j'ai tenté de reproduire le probleme, depuis un projet java classique: l'erreur est a nouveau la meme.

    J'ai créé un projet web dynamique puis j'ai copié mes entités, mes interfaces et ma classe Cliente Main qui plante dans ce nouveau projet (qui n'est d'ailleurs pas deployé sous glassfish, contrairement a mon projet jsf, car il n' y a aucune partie web dans ce projet. C'est juste pour realiser le test). J'ai bien entendu declarer les lib necessaires, et ca fonctionne...

    Donc pas vraiment de reponse a apporter, mais je tenais a vous remercier pour les reponses et a apporter mon retour d'xp.

  6. #6
    Invité
    Invité(e)
    Par défaut
    Salut,

    Dans mon cas j'avais eu ce même type d'erreur (corba 211) car mon entity bean n'implémentait pas l'interface Serializable. Peux-tu vérifier si c'est bien le cas pour toi?

  7. #7
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Mygale1978 Voir le message
    Salut,

    Dans mon cas j'avais eu ce même type d'erreur (corba 211) car mon entity bean n'implémentait pas l'interface Serializable. Peux-tu vérifier si c'est bien le cas pour toi?
    oui c'est le cas!

Discussions similaires

  1. Insertion vers une base Postgres à partir d'un EJB déployé sous GlassFish 4
    Par sonyandroid dans le forum Glassfish et Payara
    Réponses: 0
    Dernier message: 02/12/2013, 16h30
  2. Réponses: 1
    Dernier message: 21/12/2011, 10h18
  3. Erreur EJB sous GlassFish
    Par bza88 dans le forum Glassfish et Payara
    Réponses: 1
    Dernier message: 08/12/2011, 09h51
  4. Dialogue client et projet EJB 3.0 sous Glassfish
    Par jer1972054 dans le forum Glassfish et Payara
    Réponses: 2
    Dernier message: 20/10/2009, 10h34
  5. [EJB3] Erreur de lancement d'application EJB, JPA, JSF
    Par steave dans le forum Java EE
    Réponses: 5
    Dernier message: 14/10/2009, 22h18

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