hello all,
 i am trying to use openejb to test my application.....
i downloaded version 1.0-2005092 and build my app with maven..
 unfortunately i got the followign exception
 validate:
[java] Exception in thread "main" java.lang.NoSuchMethodError:
org.exolab.ca<http://org.exolab.ca>
stor.xml.MarshalException.getException()Ljava/lang/Throwable;
[java] at org.openejb.alt.config.Unmarshaller.unmarshalObject(Unmarshal
ler.java:178)
[java] at org.openejb.alt.config.Unmarshaller.unmarshalFromJar(Unmarsha
ller.java:109)
[java] at org.openejb.alt.config.Unmarshaller.unmarshal(Unmarshaller.ja
va:90)
[java] at org.openejb.alt.config.Unmarshaller.unmarshal(Unmarshaller.ja
va:82)
[java] at org.openejb.alt.config.EjbJarUtils.readEjbJar(EjbJarUtils.jav
a:116)
[java] at org.openejb.alt.config.EjbJarUtils.<init>(EjbJarUtils.java:95
)
[java] at org.openejb.alt.config.EjbValidator.main(EjbValidator.java:34
9)
 below is the generated (from xdoclet) ejb-jar.xml and openejb-jar.xml, but
i guess
problem is in with castor......
which version do i need to include? i am currently using 0.9.3 (as per
ejb-test-example),
do i have to use 0.9.9?
 thanks and regards
 marco
  ********************** ejb-jar.xml **********************************

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE ejb-jar PUBLIC "-//Sun Microsystems, Inc.//DTD Enterprise
JavaBeans 2.0//EN" "http://java.sun.com/dtd/ejb-jar_2_0.dtd";>

<ejb-jar >

<description><![CDATA[No Description.]]></description>
<display-name>Generated by XDoclet</display-name>

<enterprise-beans>

<!-- Session Beans -->
<session >
<description><![CDATA[Facade SessionBean for administrative
purposes]]></description>

<ejb-name>AdminFacade</ejb-name>

<home>com.myapp.ejb.AdminFacadeHome</home>
<remote>com.myapp.ejb.AdminFacade</remote>
<ejb-class>com.myapp.ejb.AdminFacadeSession</ejb-class>
<session-type>Stateless</session-type>
<transaction-type>Container</transaction-type>

<ejb-ref >
<ejb-ref-name>ejb/User</ejb-ref-name>
<ejb-ref-type>Entity</ejb-ref-type>
<home>com.myapp.ejb.UserHome</home>
<remote>com.myapp.ejb.User</remote>
<ejb-link>User</ejb-link>
</ejb-ref>
<ejb-ref >
<ejb-ref-name>ejb/ExpenseType</ejb-ref-name>
<ejb-ref-type>Entity</ejb-ref-type>
<home>com.myapp.ejb.ExpenseTypeHome</home>
<remote>com.myapp.ejb.ExpenseType</remote>
<ejb-link>ExpenseType</ejb-link>
</ejb-ref>

</session>

<!--
To add session beans that you have deployment descriptor info for, add
a file to your XDoclet merge directory called session-beans.xml that
contains
the <session></session> markup for those beans.
-->

<!-- Entity Beans -->
<entity >
<description><![CDATA[]]></description>

<ejb-name>ExpenseType</ejb-name>

<home>com.myapp.ejb.ExpenseTypeHome</home>
<remote>com.myapp.ejb.ExpenseType</remote>
<local-home>com.myapp.ejb.ExpenseTypeLocalHome</local-home>
<local>com.myapp.ejb.ExpenseTypeLocal</local>

<ejb-class>com.myapp.ejb.ExpenseTypeCMP</ejb-class>
<persistence-type>Container</persistence-type>
<prim-key-class>java.lang.Integer</prim-key-class>
<reentrant>False</reentrant>
<cmp-version>2.x</cmp-version>
<abstract-schema-name>ExpenseType</abstract-schema-name>
<cmp-field >
<description><![CDATA[]]></description>
<field-name>id</field-name>
</cmp-field>
<cmp-field >
<description><![CDATA[]]></description>
<field-name>description</field-name>
</cmp-field>
<primkey-field>id</primkey-field>

<query>
<query-method>
<method-name>findAll</method-name>
<method-params>
</method-params>
</query-method>
<ejb-ql/>
</query>
<!-- Write a file named ejb-finders-ExpenseTypeBean.xml if you want to
define extra finders. -->

</entity>

<entity >
<description><![CDATA[User Bean for Expenses]]></description>

<ejb-name>User</ejb-name>

<home>com.myapp.ejb.UserHome</home>
<remote>com.myapp.ejb.User</remote>
<local-home>com.myapp.ejb.UserLocalHome</local-home>
<local>com.myapp.ejb.UserLocal</local>

<ejb-class>com.myapp.ejb.UserCMP</ejb-class>
<persistence-type>Container</persistence-type>
<prim-key-class>java.lang.Integer</prim-key-class>
<reentrant>False</reentrant>
<cmp-version>2.x</cmp-version>
<abstract-schema-name>User</abstract-schema-name>
<cmp-field >
<description><![CDATA[]]></description>
<field-name>userId</field-name>
</cmp-field>
<cmp-field >
<description><![CDATA[]]></description>
<field-name>username</field-name>
</cmp-field>
<cmp-field >
<description><![CDATA[]]></description>
<field-name>password</field-name>
</cmp-field>
<primkey-field>userId</primkey-field>

<query>
<query-method>
<method-name>findByUsername</method-name>
<method-params>
<method-param>String</method-param>
</method-params>
</query-method>
<ejb-ql/>
</query>
<!-- Write a file named ejb-finders-UserBean.xml if you want to define extra
finders. -->

</entity>

<!--
To add entity beans that you have deployment descriptor info for, add
a file to your XDoclet merge directory called entity-beans.xml that contains
the <entity></entity> markup for those beans.
-->

<!-- Message Driven Beans -->
<!--
To add message driven beans that you have deployment descriptor info for,
add
a file to your XDoclet merge directory called message-driven-beans.xml that
contains
the <message-driven></message-driven> markup for those beans.
-->

</enterprise-beans>

<!-- Relationships -->

<!-- Assembly Descriptor -->
<!--
To specify your own assembly descriptor info here, add a file to your
XDoclet merge directory called assembly-descriptor.xml that contains
the <assembly-descriptor></assembly-descriptor> markup.
-->

<assembly-descriptor >
<!--
To specify additional security-role elements, add a file in the merge
directory called ejb-security-roles.xml that contains them.
-->

<!-- method permissions -->
<!--
To specify additional method-permission elements, add a file in the merge
directory called ejb-method-permissions.ent that contains them.
-->

<!-- transactions -->
<!--
To specify additional container-transaction elements, add a file in the
merge
directory called ejb-container-transactions.ent that contains them.
-->
<container-transaction >
<method >
<ejb-name>ExpenseType</ejb-name>
<method-name>*</method-name>
</method>
<trans-attribute>Required</trans-attribute>
</container-transaction>

<!-- finder transactions -->

<!-- message destinations -->
<!--
To specify additional message-destination elements, add a file in the merge
directory called ejb-message-destinations.ent that contains them.
-->

<!-- exclude list -->
<!--
To specify an exclude-list element, add a file in the merge directory
called ejb-exclude-list.xml that contains it.
-->
</assembly-descriptor>

</ejb-jar>
*******************************************************************************

openejb-jar.xml -----------------------------

<?xml version="1.0"?>
<openejb-jar xmlns="http://www.openejb.org/openejb-jar/1.1";>

<ejb-deployment ejb-name="User"
deployment-id="User"
container-id="Default CMP Container">
<query>
<query-method>
<method-name>findByUsername</method-name>
<method-params>
<method-param>java.lang.String</method-param>
</method-params>
</query-method>
<object-ql>
SELECT o FROM com.myapp.ejb.UserCMP o WHERE o.username = $1
</object-ql>
</query>
</ejb-deployment>

<ejb-deployment ejb-name="ExpenseType"
deployment-id="ExpenseType"
container-id="Default CMP Container">
<query>
<query-method>
<method-name>findAll</method-name>
<method-params/>
</query-method>
<object-ql>
SELECT o FROM com.myapp.ejb.ExpenseTypeCMP o
</object-ql>
</query>
</ejb-deployment>

<ejb-deployment ejb-name="AdminFacade"
deployment-id="AdminFacade"
container-id="Default Stateless Container"/>


</openejb-jar>

Reply via email to