Quick update for those following the thread. I chatted with Katia on IRC and we made some progress.
Turns out the example was a CMP 1.1 example. We updated the deployment descriptor to include the right cmp-version and the ejb jar deploys fine. Katia was also able to successfully get an client to run accessing the CMP. The current error is now because the table for the CMP doesn't exist in the Derby database. Not sure what is required to get that going. Here is the trimmed stack trace for future reference and archive purposes. 01:45:48,156 ERROR [AbstractTransactionContext] Unable to roll back transaction java.lang.IllegalStateException: Status is STATUS_NO_TRANSACTION at org.apache.geronimo.transaction.manager.TransactionImpl.rollback(TransactionImpl.java:438) at org.apache.geronimo.transaction.context.InheritableTransactionContext.rollbackAndThrow(InheritableTransactionContext.java:305) at org.apache.geronimo.transaction.context.InheritableTransactionContext.complete(InheritableTransactionContext.java:196) at org.apache.geronimo.transaction.context.InheritableTransactionContext.commit(InheritableTransactionContext.java:143) at org.openejb.transaction.ContainerPolicy$TxRequired.invoke(ContainerPolicy.java:152) at org.openejb.transaction.TransactionContextInterceptor.invoke(TransactionContextInterceptor.java:80) [snip] 01:45:48,187 WARN [SystemExceptionInterceptor] CabinEJB javax.transaction.SystemException: Unable to commit container transaction at org.apache.geronimo.transaction.context.InheritableTransactionContext.rollbackAndThrow(InheritableTransactionContext.java:324) at org.apache.geronimo.transaction.context.InheritableTransactionContext.complete(InheritableTransactionContext.java:196) at org.apache.geronimo.transaction.context.InheritableTransactionContext.commit(InheritableTransactionContext.java:143) at org.openejb.transaction.ContainerPolicy$TxRequired.invoke(ContainerPolicy.java:152) at org.openejb.transaction.TransactionContextInterceptor.invoke(TransactionContextInterceptor.java:80) [snip] at java.lang.Thread.run(Thread.java:534) Caused by: org.tranql.ql.QueryException: Error executing statement: INSERT INTO CabinTable(col_id, col_name, col_deckLevel, col_shipId, col_bedCount) VALUES (?, ?, ?, ?, ?) at org.tranql.sql.jdbc.JDBCUpdateCommand.execute(JDBCUpdateCommand.java:69) [snip] ... 23 more Caused by: SQL Exception: Table 'CABINTABLE' does not exist. at org.apache.derby.impl.jdbc.Util.generateCsSQLException(Util.java) at org.apache.derby.impl.jdbc.TransactionResourceImpl.wrapInSQLException(TransactionResourceImpl.java) at org.apache.derby.impl.jdbc.TransactionResourceImpl.handleException(TransactionResourceImpl.java) at org.apache.derby.impl.jdbc.EmbedConnection.handleException(EmbedConnection.java) at org.apache.derby.impl.jdbc.ConnectionChild.handleException(ConnectionChild.java) at org.apache.derby.impl.jdbc.EmbedPreparedStatement.<init>(EmbedPreparedStatement.java) at org.apache.derby.impl.jdbc.EmbedPreparedStatement20.<init>(EmbedPreparedStatement20.java) at org.apache.derby.impl.jdbc.EmbedPreparedStatement30.<init>(EmbedPreparedStatement30.java) at org.apache.derby.jdbc.Driver30.newEmbedPreparedStatement(Driver30.java) at org.apache.derby.impl.jdbc.EmbedConnection.prepareStatement(EmbedConnection.java) at org.apache.derby.impl.jdbc.EmbedConnection.prepareStatement(EmbedConnection.java) at org.apache.derby.iapi.jdbc.BrokeredConnection.prepareStatement(BrokeredConnection.java) at org.tranql.connector.jdbc.ConnectionHandle.prepareStatement(ConnectionHandle.java:231) at org.tranql.sql.jdbc.JDBCUpdateCommand.execute(JDBCUpdateCommand.java:63) ... 28 more 01:45:48,250 FATAL [EjbRequestHandler] Invocation result object is not serializable: java.rmi.RemoteException java.io.NotSerializableException: org.apache.derby.impl.sql.compile.TableName at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1054) [blah blah blah] -David On Mon, Apr 11, 2005 at 10:39:34PM +0000, Katia Aresti Gonzalez wrote: > Hello!!! > > I was trying to deploy the persistent EJB. Im using the OpenEJB example off > ships and titan... Its an easy example, just 2 entity bean and a session > bean. The problem is that the deployment fails and this the error > that appears: > > i cant guess what is the problem. Im trying to deploy de jar, build with > maven, and buils succesfull, > using the ejb-jar.xml and the openejb-jar.xml > > Anybody can help??? thank you!!!! > > Katia > > > C:\gero>start java -jar bin/server.jar > > C:\gero>java -jar bin/deployer.jar --user system --password manager deploy > d:/cm > p/build/dist/prueba-ejbs.jar > Deployment failed > Server reports: org.apache.geronimo.common.DeploymentException: Error > parsing > ejb-jar.xml > Error parsing ejb-jar.xml > Invalid deployment descriptor: [error: Element not allowed: > [EMAIL PROTECTED] at java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1224) at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1050) > tp://java.sun.com/xml/ns/j2ee in element > [EMAIL PROTECTED]://java.sun.com/xml/ns/j2ee, > error: String 'container' is not a valid enumerated value for > persistence-typeT > ype in namespace http://java.sun.com/xml/ns/j2ee, error: Element not > allowed: cm > [EMAIL PROTECTED]://java.sun.com/xml/ns/j2ee in element > [EMAIL PROTECTED]://java.sun.com/xm > l/ns/j2ee, error: Element not allowed: > [EMAIL PROTECTED]://java.sun.com/xml/ns/j2ee > in element [EMAIL PROTECTED]://java.sun.com/xml/ns/j2ee, error: Element not > allowed: > [EMAIL PROTECTED]://java.sun.com/xml/ns/j2ee in element > [EMAIL PROTECTED]://java.sun.com/ > xml/ns/j2ee, error: Element not allowed: > [EMAIL PROTECTED]://java.sun.com/xml/ns/j2 > ee in element [EMAIL PROTECTED]://java.sun.com/xml/ns/j2ee, error: Element > not > allowed > : [EMAIL PROTECTED]://java.sun.com/xml/ns/j2ee in element > [EMAIL PROTECTED]://java.sun.co > m/xml/ns/j2ee, error: Element not allowed: > [EMAIL PROTECTED]://java.sun.com/xml > /ns/j2ee in element [EMAIL PROTECTED]://java.sun.com/xml/ns/j2ee, error: > Element > not a > llowed: [EMAIL PROTECTED]://java.sun.com/xml/ns/j2ee in element > [EMAIL PROTECTED]://ja > va.sun.com/xml/ns/j2ee, error: Expected element(s) in element > [EMAIL PROTECTED]://java > .sun.com/xml/ns/j2ee, error: Element not allowed: > [EMAIL PROTECTED]://java.sun.com/ > xml/ns/j2ee in element [EMAIL PROTECTED]://java.sun.com/xml/ns/j2ee, error: > String 'be > an' is not a valid enumerated value for persistence-typeType in namespace > http:/ > /java.sun.com/xml/ns/j2ee, error: Element not allowed: > [EMAIL PROTECTED]://java > .sun.com/xml/ns/j2ee in element [EMAIL PROTECTED]://java.sun.com/xml/ns/j2ee, > error: E > lement not allowed: [EMAIL PROTECTED]://java.sun.com/xml/ns/j2ee in element > enti > [EMAIL PROTECTED]://java.sun.com/xml/ns/j2ee, error: Expected element(s) in > element > entity > @http://java.sun.com/xml/ns/j2ee] > Descriptor: <ejb-jar > xsi:schemaLocation="http://java.sun.com/xml/ns/j2eehttp://j > ava.sun.com/xml/ns/j2ee/ejb-jar_2_1.xsd" version="2.1" > xmlns:xsi="http://www.w3. > org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/j2ee"> > <enterprise-beans> > <entity> > <ejb-name>CabinEJB</ejb-name> > <home>com.titan.cabin.CabinHomeRemote</home> > <remote>com.titan.cabin.CabinRemote</remote> > <ejb-class>com.titan.cabin.CabinBean</ejb-class> > <reentrant>False</reentrant> > <persistence-type>container</persistence-type> > <prim-key-class>java.lang.Integer</prim-key-class> > <cmp-field> > <field-name>id</field-name> > </cmp-field> > <cmp-field> > <field-name>name</field-name> > </cmp-field> > <cmp-field> > <field-name>deckLevel</field-name> > </cmp-field> > <cmp-field> > <field-name>shipId</field-name> > </cmp-field> > <cmp-field> > <field-name>bedCount</field-name> > </cmp-field> > <primkey-field>id</primkey-field> > <resource-ref> > <res-ref-name>jdbc/titanDB</res-ref-name> > <res-type>javax.sql.DataSource</res-type> > <res-auth>Container</res-auth> > </resource-ref> > </entity> > <entity> > <description>This bean represents a cruise ship.</description> at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java :1332) at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:13 04) at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.jav a:1247) at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1052) > <ejb-name>ShipEJB</ejb-name> > <home>com.titan.ship.ShipHomeRemote</home> > <remote>com.titan.ship.ShipRemote</remote> > <ejb-class>com.titan.ship.ShipBean</ejb-class> > <reentrant>False</reentrant> > <persistence-type>bean</persistence-type> > <prim-key-class>java.lang.Integer</prim-key-class> > <primkey-field>id</primkey-field> > <resource-ref> > <description>DataSource for the Titan database</description> > <res-ref-name>jdbc/titanDB</res-ref-name> > <res-type>javax.sql.DataSource</res-type> > <res-auth>Container</res-auth> > </resource-ref> > </entity> > <session> > <ejb-name>TravelAgentEJB</ejb-name> > <home>com.titan.travelagent.TravelAgentHomeRemote</home> > <remote>com.titan.travelagent.TravelAgentRemote</remote> > <ejb-class>com.titan.travelagent.TravelAgentBean</ejb-class> > <session-type>Stateless</session-type> > <transaction-type>Container</transaction-type> > <ejb-ref> > <ejb-ref-name>ejb/titan/CabinEJB</ejb-ref-name> > <ejb-ref-type>Entity</ejb-ref-type> > <home>com.titan.cabin.CabinHomeRemote</home> > <remote>com.titan.cabin.CabinRemote</remote> > <ejb-link>CabinEJB</ejb-link> > </ejb-ref> > </session> > </enterprise-beans> > <assembly-descriptor> > <security-role> > <description>This role represents everyone who is allowed full access > to te CabinEJB.</description> > <role-name>everyone</role-name> > </security-role> > <method-permission> > <role-name>everyone</role-name> > <method> > <ejb-name>CabinEJB</ejb-name> > <method-name>*</method-name> > </method> > <method> > <ejb-name>TravelAgentEJB</ejb-name> > <method-name>*</method-name> > </method> > </method-permission> > <method-permission> > <role-name>everyone</role-name> > <method> > <ejb-name>ShipEJB</ejb-name> > <method-name>*</method-name> > </method> > </method-permission> > <container-transaction> > <method> > <ejb-name>CabinEJB</ejb-name> > <method-name>*</method-name> > </method> > <method> > <ejb-name>ShipEJB</ejb-name> > <method-name>*</method-name> > </method> > <method> > <ejb-name>TravelAgentEJB</ejb-name> > <method-name>*</method-name> > </method> > <trans-attribute>Required</trans-attribute> > </container-transaction> > </assembly-descriptor> > </ejb-jar> > > /---------------open EJB jar.xml---------- > <?xml version="1.0"?> > at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java :1332) at java.io.ObjectOutputStream.defaultWriteObject(ObjectOutputStream.java :367) at java.lang.Throwable.writeObject(Throwable.java:648) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl. java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces sorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:80 9) at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:12 96) at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.jav a:1247) at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1052) eFields(ObjectOutputStream.java :1332) at java.io.ObjectOutputStream.defaultWriteObject(ObjectOutputStream.java :367) at java.lang.Throwable.writeObject(Throwable.java:648) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl. java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces sorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:80 9) at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:12 96) at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.jav a:1247) at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1052) OutputStream.java:13 04) at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.jav a:1247) at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1052) > <openejb-jar xmlns="http://www.openejb.org/openejb-jar/1.1"> > <ejb-deployment ejb-name="CabinEJB" deployment-id="titan/CabinEJB" > container-id="Default CMP Container"> > <resource-link res-ref-name="jdbc/titanDB" res-id="Default JDBC > Database"/> > </ejb-deployment> > <ejb-deployment ejb-name="ShipEJB" deployment-id="titan/ShipEJB" > container-id="Default BMP Container"> > <resource-link res-ref-name="jdbc/titanDB" res-id="Default JDBC > Database"/> > </ejb-deployment> > <ejb-deployment ejb-name="TravelAgentEJB" > deployment-id="titan/TravelAgentEJB" container-id="Default Stateless > Container"/> > </openejb-b.client.EJBResponse.writeExternal(EJBResponse.java:176) at org.openejb.server.ejbd.EjbRequestHandler.processRequest(EjbRequestHa ndler.java:259) at org.openejb.server.ejbd.EjbDaemon.service(EjbDaemon.java:135) at org.openejb.server.ejbd.EjbServer.service(EjbServer.java:84) at org.openejb.server.ejbd.EjbServer$$FastClassByCGLIB$$d379d2ff.invoke( <generated>) at net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53) at org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(FastMethod Invoker.java:38) at org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperatio n.java:118) at org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance. java:710) at org.apache.geronimo.gbean.runtime.RawInvoker.invoke(RawInvoker.java:5 7) at org.apache.geronimo.kernel.proxy.RawOperationInvoker.invoke(RawOperat ionInvoker.java:36) at org.apache.geronimo.kernel.proxy.ProxyMethodInterceptor.intercept(Pro xyMethodInterceptor.java:92) at org.openejb.server.ServerService$$EnhancerByCGLIB$$8c43612f.service(< generated>) at org.openejb.server.ServicePool$2.run(ServicePool.java:106) at org.openejb.server.ServicePool$3.run(ServicePool.java:129) at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(Unknown So urce) at java.lang.Thread.run(Thread.java:534) jar> > > _________________________________________________________________ > Acepta el reto MSN Premium: Correos más divertidos con fotos y textos > increíbles en MSN Premium. Descárgalo y pruébalo 2 meses gratis. > http://join.msn.com?XAPID=1697&DI=1055&HL=Footer_mailsenviados_correosmasdivertidos