When trying to deploy a CMP Entity Bean, I am getting the following error:::
09/04 15:43:00 error Deployer Service failed to deploy
C:\JRun4\servers\DevServer1\envelope.jar
[3]org.xml.sax.SAXParseException: Document root element is missing.
at org.apache.crimson.parser.Parser2.fatal(Parser2.java:3121)
at org.apache.crimson.parser.Parser2.fatal(Parser2.java:3109)
at org.apache.crimson.parser.Parser2.parseInternal(Parser2.java:501)
at org.apache.crimson.parser.Parser2.parse(Parser2.java:305)
at
org.apache.crimson.parser.XMLReaderImpl.parse(XMLReaderImpl.java:433)
at org.jdom.input.SAXBuilder.build(SAXBuilder.java:290)
at org.jdom.input.SAXBuilder.build(SAXBuilder.java:620)
at jrunx.xml.XMLMetaData.createDocument(XMLMetaData.java:1023)
at jrunx.xml.XMLMetaData.importXML(XMLMetaData.java:200)
at
jrun.ejb.EJBContainerFactory.loadJRunEJBJarMetaData(EJBContainerFactory.java
:788)
at
jrun.ejb.EJBContainerFactory.loadEJBJarMetaData(EJBContainerFactory.java:705
)
at jrun.ejb.EJBContainerFactory.create(EJBContainerFactory.java:166)
at jrun.ejb.EJBContainerFactory.create(EJBContainerFactory.java:100)
at
jrun.deployment.DeployerService.createWatchedDeployment(DeployerService.java
:239)
at jrun.deployment.DeployerService.deploy(DeployerService.java:430)
at
jrun.deployment.DeployerService.checkWatchedDirectories(DeployerService.java
:179)
at jrun.deployment.DeployerService.run(DeployerService.java:894)
at
jrunx.scheduler.SchedulerService.invokeRunnable(SchedulerService.java:223)
at
jrunx.scheduler.ThreadPool$DownstreamMetrics.invokeRunnable(ThreadPool.java:
348)
at
jrunx.scheduler.ThreadPool$ThreadThrottle.invokeRunnable(ThreadPool.java:451
)
at
jrunx.scheduler.ThreadPool$UpstreamMetrics.invokeRunnable(ThreadPool.java:29
4)
at jrunx.scheduler.WorkerThread.run(WorkerThread.java:66)
[2]org.jdom.JDOMException: Error on line 1 of document
file:/C:/JRun4/servers/DevServer1/SERVER-INF/temp/envelope.jar-1778351386/ME
TA-INF/jrun-ejb-jar.xml: Document root element is missing.
at org.jdom.input.SAXBuilder.build(SAXBuilder.java:299)
at org.jdom.input.SAXBuilder.build(SAXBuilder.java:620)
at jrunx.xml.XMLMetaData.createDocument(XMLMetaData.java:1023)
at jrunx.xml.XMLMetaData.importXML(XMLMetaData.java:200)
at
jrun.ejb.EJBContainerFactory.loadJRunEJBJarMetaData(EJBContainerFactory.java
:788)
at
jrun.ejb.EJBContainerFactory.loadEJBJarMetaData(EJBContainerFactory.java:705
)
at jrun.ejb.EJBContainerFactory.create(EJBContainerFactory.java:166)
at jrun.ejb.EJBContainerFactory.create(EJBContainerFactory.java:100)
at
jrun.deployment.DeployerService.createWatchedDeployment(DeployerService.java
:239)
at jrun.deployment.DeployerService.deploy(DeployerService.java:430)
at
jrun.deployment.DeployerService.checkWatchedDirectories(DeployerService.java
:179)
at jrun.deployment.DeployerService.run(DeployerService.java:894)
at
jrunx.scheduler.SchedulerService.invokeRunnable(SchedulerService.java:223)
at
jrunx.scheduler.ThreadPool$DownstreamMetrics.invokeRunnable(ThreadPool.java:
348)
at
jrunx.scheduler.ThreadPool$ThreadThrottle.invokeRunnable(ThreadPool.java:451
)
at
jrunx.scheduler.ThreadPool$UpstreamMetrics.invokeRunnable(ThreadPool.java:29
4)
at jrunx.scheduler.WorkerThread.run(WorkerThread.java:66)
Caused by: org.xml.sax.SAXParseException: Document root element is missing.
at org.apache.crimson.parser.Parser2.fatal(Parser2.java:3121)
at org.apache.crimson.parser.Parser2.fatal(Parser2.java:3109)
at org.apache.crimson.parser.Parser2.parseInternal(Parser2.java:501)
at org.apache.crimson.parser.Parser2.parse(Parser2.java:305)
at
org.apache.crimson.parser.XMLReaderImpl.parse(XMLReaderImpl.java:433)
at org.jdom.input.SAXBuilder.build(SAXBuilder.java:290)
... 16 more
Root cause: org.xml.sax.SAXParseException: Document root element is missing.
at org.apache.crimson.parser.Parser2.fatal(Parser2.java:3121)
at org.apache.crimson.parser.Parser2.fatal(Parser2.java:3109)
at org.apache.crimson.parser.Parser2.parseInternal(Parser2.java:501)
at org.apache.crimson.parser.Parser2.parse(Parser2.java:305)
at
org.apache.crimson.parser.XMLReaderImpl.parse(XMLReaderImpl.java:433)
at org.jdom.input.SAXBuilder.build(SAXBuilder.java:290)
at org.jdom.input.SAXBuilder.build(SAXBuilder.java:620)
at jrunx.xml.XMLMetaData.createDocument(XMLMetaData.java:1023)
at jrunx.xml.XMLMetaData.importXML(XMLMetaData.java:200)
at
jrun.ejb.EJBContainerFactory.loadJRunEJBJarMetaData(EJBContainerFactory.java
:788)
at
jrun.ejb.EJBContainerFactory.loadEJBJarMetaData(EJBContainerFactory.java:705
)
at jrun.ejb.EJBContainerFactory.create(EJBContainerFactory.java:166)
at jrun.ejb.EJBContainerFactory.create(EJBContainerFactory.java:100)
at
jrun.deployment.DeployerService.createWatchedDeployment(DeployerService.java
:239)
at jrun.deployment.DeployerService.deploy(DeployerService.java:430)
at
jrun.deployment.DeployerService.checkWatchedDirectories(DeployerService.java
:179)
at jrun.deployment.DeployerService.run(DeployerService.java:894)
at
jrunx.scheduler.SchedulerService.invokeRunnable(SchedulerService.java:223)
at
jrunx.scheduler.ThreadPool$DownstreamMetrics.invokeRunnable(ThreadPool.java:
348)
at
jrunx.scheduler.ThreadPool$ThreadThrottle.invokeRunnable(ThreadPool.java:451
)
at
jrunx.scheduler.ThreadPool$UpstreamMetrics.invokeRunnable(ThreadPool.java:29
4)
at jrunx.scheduler.WorkerThread.run(WorkerThread.java:66)
[1]jrunx.xml.XMLMetaData$CouldNotCreateDocumentException: Could not create
document from location
'file:/C:/JRun4/servers/DevServer1/SERVER-INF/temp/envelope.jar-1778351386/M
ETA-INF/jrun-ejb-jar.xml'
at jrunx.xml.XMLMetaData.createDocument(XMLMetaData.java:1028)
at jrunx.xml.XMLMetaData.importXML(XMLMetaData.java:200)
at
jrun.ejb.EJBContainerFactory.loadJRunEJBJarMetaData(EJBContainerFactory.java
:788)
at
jrun.ejb.EJBContainerFactory.loadEJBJarMetaData(EJBContainerFactory.java:705
)
at jrun.ejb.EJBContainerFactory.create(EJBContainerFactory.java:166)
at jrun.ejb.EJBContainerFactory.create(EJBContainerFactory.java:100)
at
jrun.deployment.DeployerService.createWatchedDeployment(DeployerService.java
:239)
at jrun.deployment.DeployerService.deploy(DeployerService.java:430)
at
jrun.deployment.DeployerService.checkWatchedDirectories(DeployerService.java
:179)
at jrun.deployment.DeployerService.run(DeployerService.java:894)
at
jrunx.scheduler.SchedulerService.invokeRunnable(SchedulerService.java:223)
at
jrunx.scheduler.ThreadPool$DownstreamMetrics.invokeRunnable(ThreadPool.java:
348)
at
jrunx.scheduler.ThreadPool$ThreadThrottle.invokeRunnable(ThreadPool.java:451
)
at
jrunx.scheduler.ThreadPool$UpstreamMetrics.invokeRunnable(ThreadPool.java:29
4)
at jrunx.scheduler.WorkerThread.run(WorkerThread.java:66)
[0]jrun.deployment.DeploymentException: Deployer Service failed to deploy
file:/C:/JRun4/servers/DevServer1/envelope.jar
* EJB Container Factory could not deploy EJB container from
file:/C:/JRun4/servers/DevServer1/SERVER-INF/temp/envelope.jar-1778351386/.
* null
at
jrun.ejb.EJBContainerFactory.loadEJBJarMetaData(EJBContainerFactory.java:756
)
at jrun.ejb.EJBContainerFactory.create(EJBContainerFactory.java:166)
at jrun.ejb.EJBContainerFactory.create(EJBContainerFactory.java:100)
at
jrun.deployment.DeployerService.createWatchedDeployment(DeployerService.java
:239)
at jrun.deployment.DeployerService.deploy(DeployerService.java:430)
at
jrun.deployment.DeployerService.checkWatchedDirectories(DeployerService.java
:179)
at jrun.deployment.DeployerService.run(DeployerService.java:894)
at
jrunx.scheduler.SchedulerService.invokeRunnable(SchedulerService.java:223)
at
jrunx.scheduler.ThreadPool$DownstreamMetrics.invokeRunnable(ThreadPool.java:
348)
at
jrunx.scheduler.ThreadPool$ThreadThrottle.invokeRunnable(ThreadPool.java:451
)
at
jrunx.scheduler.ThreadPool$UpstreamMetrics.invokeRunnable(ThreadPool.java:29
4)
at jrunx.scheduler.WorkerThread.run(WorkerThread.java:66)
****************************************************************************
****************************************************************************
****************
It seems to be having trouble with the jrun-ejb-jar.xml file. "development"
is a reistered data source and the code for the jrun-ejb-jar.xml file reads
as:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE jrun-ejb-jar PUBLIC "-//Macromedia, Inc.//DTD jrun-ejb-jar
4.0//EN" "http://jrun.macromedia.com/dtds/jrun-ejb-jar.dtd">
<jrun-ejb-jar>
<source>development</source>
<enterprise-beans>
<entity>
<ejb-name>Transaction</ejb-name>
<jndi-name>Transaction</jndi-name>
</entity>
</enterprise-beans>
</jrun-ejb-jar>
****************************************************************************
****************************************************************************
*****************
The ejb-jar.xml file is :
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE ejb-jar PUBLIC "-//Sun Microsystems, Inc.//DTD Enterprise
JavaBeans 2.0//EN" "http://java.sun.com/j2ee/dtds/ejb-jar_2_0.dtd">
<ejb-jar>
<enterprise-beans>
<entity>
<ejb-name>Transaction</ejb-name>
<ejb-class>envelope.TransactionBean</ejb-class>
<home>envelope.TransactionHome</home>
<remote>envelope.Transaction</remote>
<persistence-type>Container</persistence-type>
<prim-key-class>java.lang.Long</prim-key-class>
<reentrant>True</reentrant>
<primkey-field>transactionId</primkey-field>
<abstract-schema-name>transactionschema</abstract-schema-name>
<cmp-version>2.x</cmp-version>
<cmp-field>
<field-name>transactionId</field-name>
</cmp-field>
<cmp-field>
<field-name>clientId</field-name>
</cmp-field>
<cmp-field>
<field-name>transType</field-name>
</cmp-field>
<cmp-field>
<field-name>platformId</field-name>
</cmp-field>
<cmp-field>
<field-name>sessionId</field-name>
</cmp-field>
<cmp-field>
<field-name>referer</field-name>
</cmp-field>
<cmp-field>
<field-name>curDate</field-name>
</cmp-field>
<query>
<query-method>
<method-name>findAll</method-name>
<method-params />
</query-method>
<return-type-mapping>Local</return-type-mapping>
<ejb-ql>SELECT OBJECT(o) FROM
transactionschema AS o</ejb-ql>
</query>
<query>
<query-method>
<method-name>findElementsBySession</method-name>
<method-params>
<method-param>java.lang.String</method-param>
</method-params>
</query-method>
<return-type-mapping>Local</return-type-mapping>
<ejb-ql>SELECT OBJECT(o) FROM
transactionschema AS o WHERE o.sessionId = ?1</ejb-ql>
</query>
</entity>
</enterprise-beans>
</ejb-jar>
****************************************************************************
****************************************************************************
*****************
The code for the Remote Interface is
package envelope;
import javax.ejb.EJBObject;
import java.rmi.RemoteException;
import java.util.Date;
public interface Transaction extends EJBObject {
public long getTransactionId();
public void setTransactionId(long transactionId);
public String getClientId();
public void setClientId(String clientId);
public long getTransType();
public void setTransType(int transType);
public int getPlatformId();
public void setPlatformId(int platformId);
public String getSessionId();
public void setSessionId(String sessionId);
public String getReferer();
public void setReferer(String referer);
public Date getCurDate();
public void setCurDate(Date curDate);
}
****************************************************************************
****************************************************************************
*********************
The code for the Home Interface is
package envelope;
import javax.ejb.EJBHome;
import javax.ejb.CreateException;
import javax.ejb.FinderException;
import java.rmi.RemoteException;
import java.util.Date;
import java.util.Collection;
public interface TransactionHome extends EJBHome {
public Transaction create(java.lang.Long transactionId, String clientId,
java.lang.Integer transType, java.lang.Integer platformId, String
sessionId, Date curDate) throws RemoteException, CreateException;
public Transaction findByPrimaryKey(java.lang.Long transactionId) throws
FinderException, RemoteException;
public Collection findAll() throws FinderException, RemoteException;
public Collection findElementsBySession(String sessionId) throws
FinderException, RemoteException;
}
****************************************************************************
****************************************************************************
***************
The code for the Implementation Class is
package envelope;
import javax.ejb.EntityBean;
import javax.ejb.EntityContext;
import javax.ejb.EJBException;
import javax.ejb.CreateException;
import java.rmi.RemoteException;
import javax.ejb.FinderException;
import java.util.Date;
/**
* <h2>Transaction Bean</h2>
* <p>A bean to handle TMX's e-mail transactions.</p>
*/
public abstract class TransactionBean implements EntityBean {
/**
* Bean's entity context.
*/
private EntityContext context;
/**
* Callback method.
*/
public void ejbLoad() throws RemoteException { }
/**
* Callback method.
*/
public void ejbStore() throws RemoteException { }
/**
* Save the EntityContext
*/
public void setEntityContext(EntityContext context) throws RemoteException
{
this.context = context;
}
/**
* Callback method.
*/
public void unsetEntityContext() throws RemoteException, EJBException {
this.context = null;
}
/**
* Callback method.
*/
public void ejbRemove() throws RemoteException { }
/**
* Callback method.
*/
public void ejbActivate() throws RemoteException { }
/**
* Callback method.
*/
public void ejbPassivate() throws RemoteException { }
public String ejbCreate(java.lang.Long transactionId, String clientId,
java.lang.Integer transType,
java.lang.Integer platformId, String sessionId, String referer, Date
curDate) throws RemoteException, CreateException {
setTransactionId(transactionId);
setClientId(clientId);
setTransType(transType);
setPlatformId(platformId);
setSessionId(sessionId);
setReferer(referer);
setCurDate(curDate);
return null;
}
public void ejbPostCreate(java.lang.Long transactionId, String clientId,
java.lang.Integer transType, java.lang.Integer platformId,
String sessionId, Date curDate) throws RemoteException,
CreateException { }
/**
* CMP field methods
*/
public abstract long getTransactionId();
public abstract void setTransactionId(java.lang.Long transactionId);
public abstract String getClientId();
public abstract void setClientId(String clientId);
public abstract int getTransType();
public abstract void setTransType(java.lang.Integer transType);
public abstract int getPlatformId();
public abstract void setPlatformId(java.lang.Integer platformId);
public abstract String getSessionId();
public abstract void setSessionId(String sessionId);
public abstract String getReferer();
public abstract void setReferer(String referer);
public abstract Date getCurDate();
public abstract void setCurDate(Date curDate);
}
****************************************************************************
****************************************************************************
*************
Any help would be most appreciated.
Thanks,
Bob
______________________________________________________________________
This list and all House of Fusion resources hosted by CFHosting.com. The place for
dependable ColdFusion Hosting.
Archives: http://www.mail-archive.com/[email protected]/
Unsubscribe: http://www.houseoffusion.com/index.cfm?sidebar=lists