Anybody know why I would get a NPE when trying to create a simple CMP 
entity instance?  The exception that the client gets is:

java.lang.NullPointerException: Primary-key was null

And the server console displays:

java.lang.NullPointerException
        at 
RecordHome_EntityHomeWrapper8.hashCode(RecordHome_EntityHomeWrapper8.java:131)
        at com.evermind.util.ExternalHashSet.get(JAX)
        at 
RecordHome_EntityHomeWrapper8.create(RecordHome_EntityHomeWrapper8.java:339)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.evermind.server.rmi.bd.run(JAX)
        at com.evermind.server.rmi.bb.hy(JAX)
        at com.evermind.server.rmi.bb.run(JAX)
        at com.evermind.util.f.run(JAX)

I know that the key (a simple String id) is getting into the ejbCreate 
method, since I am printing it to the console (it displays just prior to 
this message).  For further reference, my client code and ejb-jar.xml are 
below.

Thanks,
Jason

client:
public class test {
  public static void main(String[] args) {
    try {
      InitialContext ic = new InitialContext();
      Object ref = ic.lookup("alert.Record");
      RecordHome home = (RecordHome)PortableRemoteObject.narrow(ref, 
RecordHome.class);
      System.out.println("Got this far -- Creating an instance:");

      home.create("1234");
      System.out.println("Created successfully");
    } catch (Exception e) {
      System.out.println(e);
    }
  }
}




ejb-jar.xml:
<?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>
                <entity>
                        <description></description>
                        <ejb-name>alert.Record</ejb-name>
                        <home>alert.RecordHome</home>
                        <remote>alert.Record</remote>
                        <ejb-class>alert.RecordEJB</ejb-class>
                        <persistence-type>Container</persistence-type>
                        <prim-key-class>java.lang.String</prim-key-class>
                        <primkey-field>id</primkey-field>
                        <reentrant>False</reentrant>
                        <cmp-field><field-name>id</field-name></cmp-field>
 <cmp-field><field-name>articleTitle</field-name></cmp-field>
 <cmp-field><field-name>sourceTitle</field-name></cmp-field>
 <cmp-field><field-name>articleAuthors</field-name></cmp-field>
 <cmp-field><field-name>abstractText</field-name></cmp-field>
 <cmp-field><field-name>language</field-name></cmp-field>
 <cmp-field><field-name>researchAddress</field-name></cmp-field>
 <cmp-field><field-name>issn</field-name></cmp-field>
 <cmp-field><field-name>source</field-name></cmp-field>
 <cmp-field><field-name>pubType</field-name></cmp-field>
 <cmp-field><field-name>keywords</field-name></cmp-field>
 <cmp-field><field-name>volume</field-name></cmp-field>
 <cmp-field><field-name>issue</field-name></cmp-field>
 <cmp-field><field-name>issueNote</field-name></cmp-field>
 <cmp-field><field-name>pageRange</field-name></cmp-field>
 <cmp-field><field-name>pubYear</field-name></cmp-field>
 <cmp-field><field-name>packedTitle</field-name></cmp-field>
 <cmp-field><field-name>packedAuthors</field-name></cmp-field>
 <cmp-field><field-name>importDate</field-name></cmp-field>
 <cmp-field><field-name>available</field-name></cmp-field>
                </entity>
        </enterprise-beans>
        <dependents>
        </dependents>
        <assembly-descriptor>
                <container-transaction>
                        <method>
                                <ejb-name>alert.Record</ejb-name>
                                <method-name>*</method-name>
                        </method>
                        <trans-attribute>Supports</trans-attribute>
                </container-transaction>
                <container-transaction>
                        <method>
                                <ejb-name>alert.RecordHome</ejb-name>
                                <method-name>*</method-name>
                        </method>
                        <trans-attribute>Required</trans-attribute>
                </container-transaction>
        </assembly-descriptor>
</ejb-jar>

Reply via email to