Hi, I'm trying to deploy EJB, but it throws followin exception:
i use Tomcat 5.0.24, OpenEJB 0.9.2
java.lang.ClassCastException
at
com.sun.corba.se.internal.javax.rmi.PortableRemoteObject.narrow(PortableRemo
teObject.java:293)
at
javax.rmi.PortableRemoteObject.narrow(PortableRemoteObject.java:134)
my files:
server.xml
<Ejb name="ejb/documentBean"
type="Session"
home="[package].DocumentHome"
remote="[package].DocumentObject"/>
<ResourceParams name="ejb/documentBean">
<parameter>
<name>factory</name>
<value>org.openejb.client.TomcatEjbFactory</value>
</parameter>
<parameter>
<name>openejb.naming.factory.initial</name>
<value>org.openejb.client.LocalInitialContextFactory</value>
</parameter>
<parameter>
<name>openejb.naming.security.principal</name>
<value>username</value>
</parameter>
<parameter>
<name>openejb.naming.security.credentials</name>
<value>password</value>
</parameter>
<parameter>
<name>openejb.naming.provider.url</name>
<value>localhost:4201</value>
</parameter>
<parameter>
<name>openejb.ejb-link</name>
<value>DBean</value>
</parameter>
</ResourceParams>
web.xml
<init-param>
<param-name>openejb.home</param-name>
<param-value>c:\\openejb-0.9.2</param-value>
</init-param>
ejb-jar.xml
<?xml version="1.0" encoding="UTF-8"?>
<ejb-jar>
<enterprise-beans>
<session>
<ejb-name>DBean</ejb-name>
<home>[package].DocumentHome</home>
<remote>[package].DocumentObject</remote>
<ejb-class>[package].DocumentBean</ejb-class>
<session-type>Stateless</session-type>
<transaction-type>Container</transaction-type>
</session>
</enterprise-beans>
<assembly-descriptor>
<container-transaction>
<method>
<ejb-name>DBean</ejb-name>
<method-name>*</method-name>
</method>
<trans-attribute>Required</trans-attribute>
</container-transaction>
</assembly-descriptor>
</ejb-jar>
servlet EJB code:
Object object1 = initCtx.lookup("java:comp/env/ejb/documentBean");
DocumentHome home = (DocumentHome)
javax.rmi.PortableRemoteObject.narrow(object1, DocumentHome.class);
DocumentObject bean = home.create();
bean.createDoc();
Please explain me what i'm doing wrong.
Thanks
mateusz