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
 
/*********************************************************************/
 
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>

Reply via email to