|
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
|
