Hi, I am having this problem:
 
1.)ejb-jar.xml  { The problem looks like is in <query></query>
 
==============================
<?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_1_1.dtd">
<ejb-jar>
  <enterprise-beans>
    <entity>
      <ejb-name>EmployeeBean</ejb-name>
      <home>org.acme.employee.EmployeeHome</home>
      <remote>org.acme.employee.Employee</remote>
      <ejb-class>org.acme.employee.EmployeeBean</ejb-class>
      <persistence-type>Container</persistence-type>
      <prim-key-class>java.lang.Integer</prim-key-class>
      <reentrant>False</reentrant>
      <cmp-field>
        <field-name>id</field-name>
      </cmp-field>
      <cmp-field>
        <field-name>firstname</field-name>
      </cmp-field>
      <cmp-field>
        <field-name>lastname</field-name>
      </cmp-field>
      <cmp-field>
        <field-name>email</field-name>
      </cmp-field>
      <primkey-field>id</primkey-field>
      <resource-ref>
        <res-ref-name>jdbc/mysql</res-ref-name>
        <res-type>javax.sql.DataSource</res-type>
        <res-auth>Container</res-auth>
      </resource-ref>
      <query>
        <query-method>
          <method-name>findByName</method-name>
          <method-params>
            <method-param>java.lang.String</method-param>
          </method-params>
        </query-method>
       <result-type-mapping>java.lang.String</result-type-mapping>
        <ejb-ql>
          <![CDATA[SELECT h.name FROM employee AS h WHERE h.id = ?1]]>
        </ejb-ql>
      </query>
    </entity>
  </enterprise-beans>
  <assembly-descriptor>
    <container-transaction>
      <method>
        <ejb-name>EmployeeBean</ejb-name>
        <method-name>*</method-name>
      </method>
      <trans-attribute>Supports</trans-attribute>
    </container-transaction>
  </assembly-descriptor>
</ejb-jar>
==============================
 
The error message i get is :
org.xml.sax.SAXException: unable to find FieldDescriptor for 'query' in ClassDescriptor of entity
        at org.exolab.castor.xml.UnmarshalHandler.startElement(UnmarshalHandler.java:827)
        at org.apache.xerces.parsers.AbstractSAXParser.startElement(AbstractSAXParser.java:415)
        at org.apache.xerces.impl.XMLNamespaceBinder.startElement(XMLNamespaceBinder.java:571)
        at org.apache.xerces.impl.dtd.XMLDTDValidator.startElement(XMLDTDValidator.java:756)
        at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanStartElement(XMLDocumentFragmentScannerImpl.java:752)
        at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(XMLDocumentFragmentScannerImpl.java:1453)
        at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:333)
        at org.apache.xerces.parsers.DTDConfiguration.parse(DTDConfiguration.java:524)
        at org.apache.xerces.parsers.DTDConfiguration.parse(DTDConfiguration.java:580)
        at org.apache.xerces.parsers.XMLParser.parse(XMLParser.java:152)
        at org.apache.xerces.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1169)
        at org.exolab.castor.xml.Unmarshaller.unmarshal(Unmarshaller.java:338)
        at org.exolab.castor.xml.Unmarshaller.unmarshal(Unmarshaller.java:270)
        at org.openejb.alt.config.EjbJarUtils.unmarshalEjbJar(EjbJarUtils.java:134)
        at org.openejb.alt.config.EjbJarUtils.readEjbJar(EjbJarUtils.java:101)
        at org.openejb.alt.config.Deploy.deploy(Deploy.java:270)
        at org.openejb.alt.config.Deploy.main(Deploy.java:663)
ERROR:
Cannot unmarshal the ejb-jar.xml file in jar employee.jar. Received message: unable to find FieldDescriptor for 'query' in ClassDescriptor of entity
************************
 
 
Any pointers will be appreciated.
Gopal

Reply via email to