Hi all, I'm always getting the following exception when using CMP (ejb 1.1 and ejb 2.0) in orion 1.1.36 and earlier versions: on the client side : java.lang.InternalError: Object was null but still part of the cache at com.evermind.server.rmi.bb.invokeMethod(JAX) at com.evermind.server.rmi.a2.invoke(JAX) at com.evermind.server.rmi.a3.invoke(JAX) at __Proxy1.create(Unknown Source) at om.fnv.kozijncalc.entities.klanten.KlantTest.<init>KlantTest.java:41) at com.fnv.kozijncalc.entities.klanten.KlantTest.mainKlantTest.java:100) Below is all the code and the deployment descriptors. I think it has something todo with orion's memory (bean caching ) managment. Has someone else have equal problems ? Or is it a bug ? Where can I find the bug list? Thank in advance. Wim Veninga. [EMAIL PROTECTED] the client code : package com.fnv.kozijncalc.entities.klanten; import java.io.*; import java.util.*; import javax.ejb.*; import javax.rmi.*; import javax.naming.*; public class KlantTest { static final String objNaam = "java:comp/env/Klant"; static final String fileName = "C:\\testKozijnEJB\\instellingen.properties"; public KlantTest() throws Exception { FileInputStream fis = new FileInputStream(this.fileName); Properties props = new Properties(); props.load(fis); //find the serverPortalHome System.out.print("Connecting to server..."); Context context = new InitialContext(props); Object portalRef = context.lookup(objNaam); KlantHome home = (KlantHome)PortableRemoteObject.narrow(portalRef,KlantHome.class); System.out.println(" done."); System.out.println("Creating new klant..."); Klant klant = home.create(new Integer(26)); /* Error OCCURES HERE */ klant.setKlantNaam("Jamper"); klant.setKlantAdres("testadres"); klant.setKlantPostcode("9501 BN"); klant.setKlantPlaats("TestPlaats"); klant.setKlantLand("Land"); klant.setKlantTelefoon("Telefoon"); klant.setKlantContactPersoon("Contact"); System.out.println("Created klant with following data : "); printKlant(klant); } private void printKlant(Klant k) throws Exception { System.out.println("Found klant : "); System.out.println("klant nr = " + k.getKlantNr().toString()); System.out.println("naam = " + k.getKlantNaam()); System.out.println("adres = "+ k.getKlantAdres()); System.out.println("postcode = "+ k.getKlantPostcode()); System.out.println("plaats = "+ k.getKlantPlaats()); System.out.println("land = "+ k.getKlantLand()); System.out.println("contact = "+ k.getKlantContactPersoon()); } public static void main(String args[]) { try { KlantTest klantTest = new KlantTest(); } catch(Exception e) { e.printStackTrace(); } } } application-client.xml: <?xml version="1.0"?> <!DOCTYPE application-client PUBLIC "-//Sun Microsystems, Inc.//DTD J2EE Application Client 1.2//EN" "http://java.sun.com/j2ee/dtds/application-client_1_2.dtd"> <application-client> <display-name>Klant Test</display-name> <ejb-ref> <ejb-ref-name>Klant</ejb-ref-name> <ejb-ref-type>Entity</ejb-ref-type> <home>com.fnv.kozijncalc.entities.klanten.KlantHome</home> <remote>com.fnv.kozijncalc.entities.klanten.Klant</remote> </ejb-ref> </application-client> EJB 2.0 code : Home : package com.fnv.kozijncalc.entities.klanten; import javax.ejb.*; import java.rmi.RemoteException; public interface KlantHome extends EJBHome { public Klant create(Integer klantNr) throws CreateException, RemoteException; public Klant findByPrimaryKey(Integer key) throws RemoteException, FinderException; } Remote : package com.fnv.kozijncalc.entities.klanten; import java.rmi.RemoteException; import javax.ejb.*; public interface Klant extends EJBObject { public java.lang.Integer getKlantNr() throws RemoteException; public java.lang.String getKlantNaam() throws RemoteException; public void setKlantNaam(java.lang.String value) throws RemoteException; public java.lang.String getKlantAdres() throws RemoteException; public void setKlantAdres(java.lang.String value) throws RemoteException; public java.lang.String getKlantPostcode() throws RemoteException; public void setKlantPostcode(java.lang.String value) throws RemoteException; public java.lang.String getKlantPlaats() throws RemoteException; public void setKlantPlaats(java.lang.String value) throws RemoteException; public java.lang.String getKlantLand() throws RemoteException; public void setKlantLand(java.lang.String value) throws RemoteException; public java.lang.String getKlantTelefoon() throws RemoteException; public void setKlantTelefoon(java.lang.String value) throws RemoteException; public java.lang.String getKlantContactPersoon() throws RemoteException; public void setKlantContactPersoon(java.lang.String value) throws RemoteException; } Bean : package com.fnv.kozijncalc.entities.klanten; import javax.ejb.*; public abstract class KlantEJB implements EntityBean { protected EntityContext context; public abstract java.lang.Integer getKlantNr(); public abstract void setKlantNr(java.lang.Integer value); public abstract java.lang.String getKlantNaam(); public abstract void setKlantNaam(java.lang.String value); public abstract java.lang.String getKlantAdres(); public abstract void setKlantAdres(java.lang.String value); public abstract java.lang.String getKlantPostcode(); public abstract void setKlantPostcode(java.lang.String value); public abstract java.lang.String getKlantPlaats(); public abstract void setKlantPlaats(java.lang.String value); public abstract java.lang.String getKlantLand(); public abstract void setKlantLand(java.lang.String value); public abstract java.lang.String getKlantTelefoon(); public abstract void setKlantTelefoon(java.lang.String value); public abstract java.lang.String getKlantContactPersoon(); public abstract void setKlantContactPersoon(java.lang.String value); public void ejbLoad() { } public void ejbStore() { } public void ejbActivate() { } public void ejbPassivate() { } public void ejbRemove() { } public void setEntityContext(EntityContext context) { this.context = context; } public void unsetEntityContext() { this.context = null; } public Integer ejbCreate(Integer klantNr) throws CreateException { this.setKlantNr(klantNr); return null; // Return null when using CMP } public void ejbPostCreate(Integer klantNr) { } } Deployement Descriptors : ejb-jar: <?xml version="1.0"?> <!DOCTYPE ejb-jar PUBLIC "-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 1.1//EN" "http://java.sun.com/j2ee/dtds/ejb-jar_2_0.dtd"> <ejb-jar> <description> </description> <enterprise-beans> <!-- The entity beans voor kozijnCalc --> <entity> <description></description> <ejb-name>Klant</ejb-name> <home>com.fnv.kozijncalc.entities.klanten.KlantHome</home> <remote>com.fnv.kozijncalc.entities.klanten.Klant</remote> <ejb-class>com.fnv.kozijncalc.entities.klanten.KlantEJB</ejb-class> <persistence-type>Container</persistence-type> <prim-key-class>java.lang.Integer</prim-key-class> <reentrant>False</reentrant> <cmp-field><field-name>klantNr</field-name></cmp-field> <cmp-field><field-name>klantNaam</field-name></cmp-field> <cmp-field><field-name>klantAdres</field-name></cmp-field> <cmp-field><field-name>klantPostcode</field-name></cmp-field> <cmp-field><field-name>klantPlaats</field-name></cmp-field> <cmp-field><field-name>klantLand</field-name></cmp-field> <cmp-field><field-name>klantTelefoon</field-name></cmp-field> <cmp-field><field-name>klantContactPersoon</field-name></cmp-field> <primkey-field>klantNr</primkey-field> </entity> </enterprise-beans> <!-- Dependant object --> <dependents> </dependents> <!-- CMP RELATION SHIPS : De relaties die beans met elkaar of met dependants hebben. --> <relationships> </relationships> <assembly-descriptor> <container-transaction> <method> <ejb-name>com.fnv.kozijncalc.entities.klanten.Klant</ejb-name> <method-name>*</method-name> </method> <trans-attribute>Supports</trans-attribute> </container-transaction> </assembly-descriptor> </ejb-jar> Orion-ejb-jar: <?xml version="1.0"?> <!DOCTYPE orion-ejb-jar PUBLIC "-//Evermind//DTD Enterprise JavaBeans 1.1 runtime//EN" "http://www.orionserver.com/dtds/orion-ejb-jar.dtd"> <orion-ejb-jar deployment-version="1.1.36" deployment-time="e0a72cf703"> <enterprise-beans> <entity-deployment name="Klant" location="Klant" wrapper="KlantHome_EntityHomeWrapper35" table="klanten" data-source="jdbc/KozijnDS"> <primkey-mapping> <cmp-field-mapping name="klantNr" persistence-name="klantNr" /> </primkey-mapping> <cmp-field-mapping name="klantNaam" persistence-name="klantNaam" /> <cmp-field-mapping name="klantAdres" persistence-name="klantAdres" /> <cmp-field-mapping name="klantPostcode" persistence-name="klantPostcode" /> <cmp-field-mapping name="klantPlaats" persistence-name="klantPlaats" /> <cmp-field-mapping name="klantLand" persistence-name="klantLand" /> <cmp-field-mapping name="klantTelefoon" persistence-name="klantTelefoon" /> <cmp-field-mapping name="klantContactPersoon" persistence-name="klantContactPersoon" /> </entity-deployment> </enterprise-beans> <assembly-descriptor> <default-method-access> <security-role-mapping impliesAll="true" /> </default-method-access> </assembly-descriptor> </orion-ejb-jar> (I can sent your a .ear with al the code (also with the other beans and relations between them for how to use ejb 2.0). Just sent me an email and i will sent the .ear back. Wim Veninga. [EMAIL PROTECTED]