Hi,
It would be great if anyone can help. I am trying to build a stateless session bean with DAO and a servlet accessing the session bean, compilation, packaging and deployment is working fine, but when I am hitting the url for the servlet I am getting the following error.My environment is JBoss 3.2.1, XDoclet1.2
/************************************************/
2004-01-24 13:23:28,078 INFO [STDOUT] Entering AccessControllerServlet.init()
2004-01-24 13:23:28,125 ERROR [STDERR] java.lang.ClassCastException
2004-01-24 13:23:28,125 ERROR [STDERR] at com.sun.corba.se.internal.javax.rmi.PortableRemoteObject.narrow(PortableRemoteObject.java:293)
2004-01-24 13:23:28,125 ERROR [STDERR] at javax.rmi.PortableRemoteObject.narrow(PortableRemoteObject.java:134)
2004-01-24 13:23:28,125 ERROR [STDERR] at com.zen.store.servlet.AccessControllerServlet.getHome(Unknown Source)
2004-01-24 13:23:28,125 ERROR [STDERR] at com.zen.store.servlet.AccessControllerServlet.init(Unknown Source)
2004-01-24 13:23:28,125 ERROR [STDERR] at org.mortbay.jetty.servlet.ServletHolder.getServlet(ServletHolder.java:280)
2004-01-24 13:23:28,125 ERROR [STDERR] at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:333)
2004-01-24 13:23:28,125 ERROR [STDERR] at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:294)
2004-01-24 13:23:28,125 ERROR [STDERR] at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:558)
2004-01-24 13:23:28,125 ERROR [STDERR] at org.mortbay.http.HttpContext.handle(HttpContext.java:1714)
2004-01-24 13:23:28,125 ERROR [STDERR] at org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplicationContext.java:507)
2004-01-24 13:23:28,125 ERROR [STDERR] at org.mortbay.http.HttpContext.handle(HttpContext.java:1664)
2004-01-24 13:23:28,125 ERROR [STDERR] at org.mortbay.http.HttpServer.service(HttpServer.java:863)
2004-01-24 13:23:28,125 ERROR [STDERR] at org.jboss.jetty.Jetty.service(Jetty.java:460)
2004-01-24 13:23:28,125 ERROR [STDERR] at org.mortbay.http.HttpConnection.service(HttpConnection.java:775)
2004-01-24 13:23:28,125 ERROR [STDERR] at org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:939)
2004-01-24 13:23:28,125 ERROR [STDERR] at org.mortbay.http.HttpConnection.handle(HttpConnection.java:792)
2004-01-24 13:23:28,125 ERROR [STDERR] at org.mortbay.http.SocketListener.handleConnection(SocketListener.java:201)
2004-01-24 13:23:28,125 ERROR [STDERR] at org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:289)
2004-01-24 13:23:28,125 ERROR [STDERR] at org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:455)
2004-01-24 13:23:28,125 INFO [STDOUT] Exception AccessControllerServlet.init()java.lang.ClassCastException
2004-01-24 13:23:28,125 INFO [STDOUT] Leaving AccessControllerServlet.init()
2004-01-24 13:23:28,125 INFO [STDOUT] Exception AccessControllerServlet.doGet()java.lang.NullPointerException
2004-01-24 13:23:28,125 ERROR [STDERR] java.lang.ClassCastException
2004-01-24 13:23:28,125 ERROR [STDERR] at com.sun.corba.se.internal.javax.rmi.PortableRemoteObject.narrow(PortableRemoteObject.java:293)
2004-01-24 13:23:28,125 ERROR [STDERR] at javax.rmi.PortableRemoteObject.narrow(PortableRemoteObject.java:134)
2004-01-24 13:23:28,125 ERROR [STDERR] at com.zen.store.servlet.AccessControllerServlet.getHome(Unknown Source)
2004-01-24 13:23:28,125 ERROR [STDERR] at com.zen.store.servlet.AccessControllerServlet.init(Unknown Source)
2004-01-24 13:23:28,125 ERROR [STDERR] at org.mortbay.jetty.servlet.ServletHolder.getServlet(ServletHolder.java:280)
2004-01-24 13:23:28,125 ERROR [STDERR] at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:333)
2004-01-24 13:23:28,125 ERROR [STDERR] at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:294)
2004-01-24 13:23:28,125 ERROR [STDERR] at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:558)
2004-01-24 13:23:28,125 ERROR [STDERR] at org.mortbay.http.HttpContext.handle(HttpContext.java:1714)
2004-01-24 13:23:28,125 ERROR [STDERR] at org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplicationContext.java:507)
2004-01-24 13:23:28,125 ERROR [STDERR] at org.mortbay.http.HttpContext.handle(HttpContext.java:1664)
2004-01-24 13:23:28,125 ERROR [STDERR] at org.mortbay.http.HttpServer.service(HttpServer.java:863)
2004-01-24 13:23:28,125 ERROR [STDERR] at org.jboss.jetty.Jetty.service(Jetty.java:460)
2004-01-24 13:23:28,125 ERROR [STDERR] at org.mortbay.http.HttpConnection.service(HttpConnection.java:775)
2004-01-24 13:23:28,125 ERROR [STDERR] at org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:939)
2004-01-24 13:23:28,125 ERROR [STDERR] at org.mortbay.http.HttpConnection.handle(HttpConnection.java:792)
2004-01-24 13:23:28,125 ERROR [STDERR] at org.mortbay.http.SocketListener.handleConnection(SocketListener.java:201)
2004-01-24 13:23:28,125 ERROR [STDERR] at org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:289)
2004-01-24 13:23:28,125 ERROR [STDERR] at org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:455)
2004-01-24 13:23:28,125 INFO [STDOUT] Exception AccessControllerServlet.init()java.lang.ClassCastException
2004-01-24 13:23:28,125 INFO [STDOUT] Leaving AccessControllerServlet.init()
2004-01-24 13:23:28,125 INFO [STDOUT] Exception AccessControllerServlet.doGet()java.lang.NullPointerException
/*********************************************************************/
I have attached the build.xml,build-ejbgen.xml and build-package.xml.
Regards
Arup
Do you Yahoo!?
Yahoo! SiteBuilder - Free web site building tool. Try it!
<?xml version="1.0" encoding="UTF-8"?> <project name="MyStore" default="buildonly" basedir="."> <description>My Store example</description>
<!-- <property file="build.properties"/> -->
<property name="application.xml" location="application.xml"/>
<property name="app.name" value="MyStore"/>
<property name="some.dummy.value" value="Howdy!" />
<property name="LOG_LEVEL" value="debug"/>
<!-- <property name="OwnerRole" value="mystoreowner"/> -->
<!-- REGULAR DIRECTORIES -->
<property name="src.dir" location="src"/>
<property name="build.dir" location="build"/>
<property name="distro.dir" location="distro"/>
<property name="lib.dir" location="lib"/>
<property name="web.dir" location="web"/>
<property name="merge.dir" location="mergeDir"/>
<property name="web.war.dir" location="webwars"/>
<property name="ejb.jar.dir" location="ejbjars"/>
<!-- GENERATED DIRECTORIES -->
<property name="gen.src.dir" location="gensrc"/>
<property name="generated.dir" location="generated"/>
<property name="ejb.deployment.dir" location="${generated.dir}/ejbdeploy"/>
<property name="web.deployment.dir" location="${generated.dir}/webdeploy"/>
<!-- WHERE XDOCLET JARS ARE -->
<property name="xdoclet.lib.dir" location="xdocletlib"/>
<!-- WHERE TO DEPLOY THE FINISHED EAR FILE -->
<property name="deploy.path" location="C:/jboss-3.2.1/server/default/deploy"/>
<path id="compile.path">
<fileset dir="${lib.dir}" includes="*.jar"/>
</path>
<path id="xdoclet.lib.path">
<fileset dir="${lib.dir}" includes="*.jar"/>
<fileset dir="${xdoclet.lib.dir}" includes="*.jar"/>
</path>
<target name="clean" description="Delete all directories and files created in the build.">
<delete dir="${gen.src.dir}/com"/>
<delete dir="${ejb.deployment.dir}"/>
<delete dir="${ejb.jar.dir}"/>
<delete dir="${build.dir}"/>
<delete dir="${distro.dir}"/>
<delete dir="${generated.dir}"/>
<delete dir="${web.war.dir}"/>
<delete dir="${web.deployment.dir}"/>
</target>
<target name="generate" description="Generate files with XDoclet.">
<ant antfile="build-ejbgen.xml" target="generate-ejb"/>
<ant antfile="build-webgen.xml" target="generate-web"/>
</target>
<target name="compile" depends="generate" description="Compile source code.">
<mkdir dir="${build.dir}"/>
<javac destdir="${build.dir}"
classpathref="xdoclet.lib.path">
<src path="${gen.src.dir};${src.dir}"/>
</javac>
</target>
<target name="package-app" depends="compile" description="Create an EAR file to deploy.">
<ant antfile="build-package.xml" target="build-ear"/>
</target>
<target name="deploy" description="Deploy EAR file.">
<copy file="${distro.dir}/${app.name}.ear"
todir="${deploy.path}"/>
</target>
<target name="build-clean" depends="clean,package-app"/>
<target name="buildonly" depends="package-app"/>
<target name="builddeploy" depends="buildonly,deploy"/>
<target name="zipItUp" depends="clean">
<mkdir dir="${distro.dir}"/>
<zip destfile="${distro.dir}/${ant.project.name}.zip">
<zipfileset dir="." prefix="${ant.project.name}">
<include name="**"/>
<exclude name="lib/*.jar" unless="zipJars"/>
<exclude name="xdocletlib/*.jar" unless="zipJars"/>
<exclude name="bin/**"/>
<exclude name="distro/**"/>
</zipfileset>
</zip>
</target>
</project><?xml version="1.0" encoding="UTF-8"?>
<project name="MyStore" default="generateEjb" basedir=".">
<property name="xdoclet.force" value="true"/>
<path id="xdoclet.lib.path">
<fileset dir="${lib.dir}" includes="*.jar"/>
<fileset dir="${xdoclet.lib.dir}" includes="*.jar"/>
</path>
<target name="generate-ejb">
<taskdef name="ejbdoclet"
classname="xdoclet.modules.ejb.EjbDocletTask"
classpathref="xdoclet.lib.path"/>
<!-- Generate EJB "stuff" -->
<ejbdoclet
destdir="${gen.src.dir}"
mergeDir="${merge.dir}"
excludedtags="@version,@author,@todo"
ejbspec="2.0"
force="${xdoclet.force}"
verbose="true">
<packageSubstitution packages="ejb"
substituteWith="interfaces"/>
<fileset dir="${src.dir}">
<include name="**/*Bean.java" />
<include name="**/*Service.java" />
</fileset>
<!-- Generate a deployment descriptor file,
including all beans processed. -->
<deploymentdescriptor
destdir="${ejb.deployment.dir}"/>
<jboss
version="3.2"
unauthenticatedPrincipal="nobody"
xmlencoding="UTF-8"
destdir="${ejb.deployment.dir}"
validatexml="false"
/>
<!-- Generate all of the home and logical
interfaces, unless told otherwise in
the meta-information. -->
<homeinterface/>
<remoteinterface/>
<localinterface/>
<localhomeinterface/>
<!-- Generate a value object if the bean
has a @ejb.value-object tag.-->
<valueobject>
<packageSubstitution
packages="ejb" substituteWith="value"/>
</valueobject>
<!-- Generate a utility object for each EJB. -->
<utilobject includeGUID="true" cacheHomes="true">
<packageSubstitution
packages="ejb" substituteWith="util"/>
</utilobject>
<!-- Generate complete entity and session
classes (including ejbXXX() methods)
based on the implementation class. -->
<entitybmp/>
<entitycmp/>
<session/>
<entitypk>
<packageSubstitution
packages="ejb" substituteWith="pk"/>
</entitypk>
<dao pattern="{0}Dao">
<packageSubstitution
packages="ejb" substituteWith="dao"/>
</dao>
</ejbdoclet>
</target>
</project><?xml version="1.0" encoding="UTF-8"?>
<project name="MyStore" default="build-ear" basedir=".">
<property name="build.dir" value="c:/MyStore/build" />
<target name="build-ear" depends="build-war,build-ejb-jar">
<mkdir dir="${distro.dir}"/>
<ear destfile="${distro.dir}/${app.name}.ear"
appxml="${application.xml}">
<fileset dir="${ejb.jar.dir}" includes="*.jar"/>
<fileset dir="${web.war.dir}" includes="*.war"/>
</ear>
</target>
<target name="build-ejb-jar">
<mkdir dir="${ejb.jar.dir}"/>
<ejbjar srcdir="${build.dir}"
descriptordir="${ejb.deployment.dir}"
destdir="${ejb.jar.dir}"
basejarname="${app.name}"
naming="basejarname"
genericjarsuffix="-ejb.jar">
<include name="*.xml"/>
<support dir="${build.dir}">
<include name="**/*Value.class"/>
<include name="**/*Bean.class"/>
<include name="**/*Util.class"/>
<include name="**/*Exception.class"/>
<include name="**/*DAO.class"/>
</support>
<dtd
publicId="-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 2.0//EN"
location="./ejb-jar_2_0.dtd"
/>
</ejbjar>
</target>
<target name="build-war">
<mkdir dir="${web.war.dir}"/>
<war destfile="${web.war.dir}/${app.name}.war"
webxml="${web.deployment.dir}/web.xml">
<lib dir="${lib.dir}" excludes="jboss-j2ee.jar"/>
<classes dir="${build.dir}"/>
<fileset dir="${web.dir}" includes="**/*.jsp"/>
<webinf dir="${web.dir}" includes="**/*.tld"/>
<webinf dir="${web.deployment.dir}" excludes="web.xml"/>
</war>
</target>
</project>
