13 Replies Latest reply on Dec 18, 2008 6:37 PM by joblini

    Deploying an application created using seam-gen on Websphere 6.1.0.13

    ericcho

      Just continuing through Chapter 28 and going through the seam-gen instructions.  Again, I've 'successfully' been able to build the generated project/ear and deployed it.   Only to have the following exception when I start the application:


      
      [4/3/08 16:21:06:460 MDT] 00000029 SystemErr     R com.ibm.ws.exception.RuntimeError: java.lang.RuntimeException: java.lang.NoClassDefFoundError: EDU.oswego.cs.dl.util.concurrent.ConcurrentReaderHashMap
      
      [4/3/08 16:21:06:460 MDT] 00000029 SystemErr     R      at com.ibm.ws.runtime.component.ApplicationMgrImpl.startApplication(ApplicationMgrImpl.java:989)
      
      [4/3/08 16:21:06:460 MDT] 00000029 SystemErr     R      at com.ibm.ws.runtime.component.ApplicationMgrImpl$1.run(ApplicationMgrImpl.java:1495)
      
      [4/3/08 16:21:06:460 MDT] 00000029 SystemErr     R      at com.ibm.ws.security.auth.ContextManagerImpl.runAs(ContextManagerImpl.java:4068)
      
      [4/3/08 16:21:06:460 MDT] 00000029 SystemErr     R      at com.ibm.ws.security.auth.ContextManagerImpl.runAsSystem(ContextManagerImpl.java:4166)
      
      [4/3/08 16:21:06:460 MDT] 00000029 SystemErr     R      at com.ibm.ws.security.core.SecurityContext.runAsSystem(SecurityContext.java:245)
      
      [4/3/08 16:21:06:460 MDT] 00000029 SystemErr     R      at com.ibm.ws.runtime.component.ApplicationMgrImpl.startApplication(ApplicationMgrImpl.java:1500)
      
      [4/3/08 16:21:06:460 MDT] 00000029 SystemErr     R      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      
      [4/3/08 16:21:06:460 MDT] 00000029 SystemErr     R      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:79)
      
      [4/3/08 16:21:06:460 MDT] 00000029 SystemErr     R      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      
      [4/3/08 16:21:06:460 MDT] 00000029 SystemErr     R      at java.lang.reflect.Method.invoke(Method.java:618)
      
      [4/3/08 16:21:06:460 MDT] 00000029 SystemErr     R      at sun.reflect.misc.Trampoline.invoke(MethodUtil.java:62)
      
      [4/3/08 16:21:06:460 MDT] 00000029 SystemErr     R      at sun.reflect.GeneratedMethodAccessor24.invoke(Unknown Source)
      
      [4/3/08 16:21:06:460 MDT] 00000029 SystemErr     R      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      
      [4/3/08 16:21:06:460 MDT] 00000029 SystemErr     R      at java.lang.reflect.Method.invoke(Method.java:618)
      
      [4/3/08 16:21:06:460 MDT] 00000029 SystemErr     R      at sun.reflect.misc.MethodUtil.invoke(MethodUtil.java:265)
      
      [4/3/08 16:21:06:460 MDT] 00000029 SystemErr     R      at javax.management.modelmbean.RequiredModelMBean.invokeMethod(RequiredModelMBean.java:1089)
      
      [4/3/08 16:21:06:460 MDT] 00000029 SystemErr     R      at javax.management.modelmbean.RequiredModelMBean.invoke(RequiredModelMBean.java:971)
      
      [4/3/08 16:21:06:460 MDT] 00000029 SystemErr     R      at com.sun.jmx.mbeanserver.DynamicMetaDataImpl.invoke(DynamicMetaDataImpl.java:231)
      
      [4/3/08 16:21:06:460 MDT] 00000029 SystemErr     R      at com.sun.jmx.mbeanserver.MetaDataImpl.invoke(MetaDataImpl.java:238)
      
      [4/3/08 16:21:06:460 MDT] 00000029 SystemErr     R      at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:833)
      
      [4/3/08 16:21:06:460 MDT] 00000029 SystemErr     R      at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:802)
      
      [4/3/08 16:21:06:460 MDT] 00000029 SystemErr     R      at com.ibm.ws.management.AdminServiceImpl$1.run(AdminServiceImpl.java:1081)
      
      [4/3/08 16:21:06:460 MDT] 00000029 SystemErr     R      at com.ibm.ws.security.util.AccessController.doPrivileged(AccessController.java:118)
      
      [4/3/08 16:21:06:460 MDT] 00000029 SystemErr     R      at com.ibm.ws.management.AdminServiceImpl.invoke(AdminServiceImpl.java:974)
      
      [4/3/08 16:21:06:460 MDT] 00000029 SystemErr     R      at com.ibm.ws.management.commands.AdminServiceCommands$InvokeCmd.execute(AdminServiceCommands.java:251)
      
      [4/3/08 16:21:06:460 MDT] 00000029 SystemErr     R      at com.ibm.ws.console.core.mbean.MBeanHelper.invoke(MBeanHelper.java:239)
      
      [4/3/08 16:21:06:460 MDT] 00000029 SystemErr     R      at com.ibm.ws.console.appdeployment.ApplicationDeploymentCollectionAction.execute(ApplicationDeploymentCollectionAction.java:537)
      
      [4/3/08 16:21:06:460 MDT] 00000029 SystemErr     R      at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)
      
      [4/3/08 16:21:06:460 MDT] 00000029 SystemErr     R      at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
      
      [4/3/08 16:21:06:460 MDT] 00000029 SystemErr     R      at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1486)
      
      



      Anyone know what jar I'm missing and where it should be or where I went wrong in my build?


      thanks,
      Eric

        • 1. Re: Deploying an application created using seam-gen on Websphere 6.1.0.13
          jbalunas.jbalunas.jboss.org

          Yup - I believe that was fixed in the trunk docs. 


          The jar it is complaining about is concurrent.jar that you can get from a JBoss distribution.  But if I'm remembering correctly - adding jboss-archive-browsing.jar fixes this issue.


          try adding this to you build.xml


          <include name="examples/jpa/lib/jboss-archive-browsing.jar" />
          



          You can also also check out the trunk and runn ant refdoc and then check the doc directory.  It should have some changes around this.


          If that is still not working - post you build.xml with the changes from the reference guide.


          -Jay

          • 2. Re: Deploying an application created using seam-gen on Websphere 6.1.0.13
            ericcho

            Alright... got rid of the last exception... I get the following exception now.... after I change the class loader order to
            Classes loaded with application class loader first


            
            [4/4/08 9:48:07:055 MDT] 0000002e SystemErr     R AppDeploymentException: [ADMA0014E: Validation failed. ADMA0007E: A Validation error occurred in task Mapping EJB references to enterprise beans.  The Java Naming and Directory Interface (JNDI) name is not specified for reference binding websphere_example/AuthenticatorAction in module WebSphere_Example.war with EJB name .
            
            ADMA0007E: A Validation error occurred in task Mapping EJB references to enterprise beans.  The Java Naming and Directory Interface (JNDI) name is not specified for reference binding websphere_example/EjbSynchronizations in module WebSphere_Example.war with EJB name .
            
            ]
            
            [4/4/08 9:48:07:055 MDT] 0000002e SystemErr     R AppDeploymentException: [ADMA0014E: Validation failed. ADMA0007E: A Validation error occurred in task Mapping EJB references to enterprise beans.  The Java Naming and Directory Interface (JNDI) name is not specified for reference binding websphere_example/AuthenticatorAction in module WebSphere_Example.war with EJB name .
            
            ADMA0007E: A Validation error occurred in task Mapping EJB references to enterprise beans.  The Java Naming and Directory Interface (JNDI) name is not specified for reference binding websphere_example/EjbSynchronizations in module WebSphere_Example.war with EJB name .
            
            ]
            
            [4/4/08 9:48:07:055 MDT] 0000002e SystemErr     R AppDeploymentException: [ADMA0014E: Validation failed. ADMA0007E: A Validation error occurred in task Mapping EJB references to enterprise beans.  The Java Naming and Directory Interface (JNDI) name is not specified for reference binding websphere_example/AuthenticatorAction in module WebSphere_Example.war with EJB name .
            
            ADMA0007E: A Validation error occurred in task Mapping EJB references to enterprise beans.  The Java Naming and Directory Interface (JNDI) name is not specified for reference binding websphere_example/EjbSynchronizations in module WebSphere_Example.war with EJB name .
            
            ]
            
            [4/4/08 9:48:07:055 MDT] 0000002e SystemErr     R      at com.ibm.websphere.management.application.client.AppDeploymentController.close(AppDeploymentController.java:648)
            
            [4/4/08 9:48:07:055 MDT] 0000002e SystemErr     R      at com.ibm.ws.management.application.EditSchedulerImpl.setupTasks(EditSchedulerImpl.java:104)
            
            [4/4/08 9:48:07:055 MDT] 0000002e SystemErr     R      at com.ibm.ws.management.application.SchedulerImpl.run(SchedulerImpl.java:250)
            
            
            
            ....
            
            
            
            [4/4/08 9:48:07:305 MDT] 0000002e SystemErr     R javax.management.MBeanException: Exception thrown in RequiredModelMBean while trying to invoke operation setApplicationInfo
            
            [4/4/08 9:48:07:305 MDT] 0000002e SystemErr     R      at javax.management.modelmbean.RequiredModelMBean.invokeMethod(RequiredModelMBean.java:1116)
            
            [4/4/08 9:48:07:305 MDT] 0000002e SystemErr     R      at javax.management.modelmbean.RequiredModelMBean.invoke(RequiredModelMBean.java:971)
            
            [4/4/08 9:48:07:305 MDT] 0000002e SystemErr     R      at com.sun.jmx.mbeanserver.DynamicMetaDataImpl.invoke(DynamicMetaDataImpl.java:231)
            
            [4/4/08 9:48:07:305 MDT] 0000002e SystemErr     R      at com.sun.jmx.mbeanserver.MetaDataImpl.invoke(MetaDataImpl.java:238)
            
            [4/4/08 9:48:07:305 MDT] 0000002e SystemErr     R      at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:833)
            
            [4/4/08 9:48:07:305 MDT] 0000002e SystemErr     R      at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:802)
            
            [4/4/08 9:48:07:305 MDT] 0000002e SystemErr     R      at com.ibm.ws.management.AdminServiceImpl$1.run(AdminServiceImpl.java:1081)
            
            [4/4/08 9:48:07:305 MDT] 0000002e SystemErr     R      at com.ibm.ws.security.util.AccessController.doPrivileged(AccessController.java:118)
            
            



            My build.xml looks like:


            
            <?xml version="1.0"?>
            
            
            <project name="WebSphere_Example" default="archive" basedir=".">
            
            
                    <!-- Give user a chance to override without editing this file or typing -D -->
            
                    <property file="${basedir}/build.properties" />
            
            
                    <property name="profile" value="dev" />
            
                    <property file="build-${profile}.properties" />
            
            
                    <!-- set global properties for this build -->
            
                    <property name="project.name" value="WebSphere_Example"/>
            
                    <property name="dist.dir" value="dist" />
            
                    <property name="src.model.dir" value="src/model" />
            
                    <property name="src.action.dir" value="src/action" />
            
                    <property name="src.test.dir" value="src/test" />
            
                    <property name="lib.dir" value="lib" />
            
                    <property name="ear.dir" value="exploded-archives/${project.name}.ear" />
            
                    <property name="jar.dir" value="exploded-archives/${project.name}.jar" />
            
                    <property name="war.dir" value="exploded-archives/${project.name}.war" />
            
                    <property name="test.dir" value="test-build" />
            
                    <property name="bootstrap.dir" value="${basedir}/bootstrap" />
            
                    <property name="deploy.dir" value="${jboss.home}/server/default/deploy" />
            
                    <property name="ear.deploy.dir" value="${deploy.dir}/${project.name}.ear" />
            
                    <property name="jar.deploy.dir" value="${ear.deploy.dir}/${project.name}.jar" />
            
                    <property name="war.deploy.dir" value="${ear.deploy.dir}/${project.name}.war" />
            
                    <property name="testng.jar" value="${basedir}/lib/testng.jar" />
            
                    <property name="javac.debug" value="true" />
            
                    <property name="javac.deprecation" value="false" />
            
                    <property name="debug" value="false" />
            
                 
            
                      <!--Properties for validating configuration files -->
            
                      <property name="validate.resources.dir" value="${basedir}/exploded-archives" />
            
                      <property name="schema.dir" value="${basedir}/exploded-archives/schemas" />
            
                      <property name="src.schema.dir" value="${schema.dir}/org/jboss/seam"/>
            
                      <property name="schema.version" value="2.1" />
            
                 
            
                    <fileset id="lib" dir="${lib.dir}">
            
                            <include name="*.jar" />
            
                    </fileset>
            
            
                    <path id="build.classpath">
            
                            <fileset refid="lib" />
            
                    </path>
            
            
                    <target name="init" description="Initialize the build">
            
                            <mkdir dir="${jar.dir}" />
            
                            <mkdir dir="${ear.dir}" />
            
                            <mkdir dir="${war.dir}" />
            
                            <mkdir dir="${dist.dir}" />
            
                    </target>
            
            
                    <target name="compile" depends="init" 
            
                                    description="Compile the Java source code"
            
                                unless="eclipse.running">
            
                            <javac classpathref="build.classpath" 
            
                                            destdir="${jar.dir}" 
            
                                              debug="${javac.debug}" 
            
                                        deprecation="${javac.deprecation}" 
            
                                            nowarn="on">
            
                                    <src path="${src.model.dir}" />
            
                                    <src path="${src.action.dir}" />
            
                            </javac>
            
                    </target>
            
            
                    <target name="copyclasses" depends="init" 
            
                                    description="Copy the classes that were compiled by eclipse"
            
                                if="eclipse.running">
            
                            <copy todir="${jar.dir}">
            
                                    <fileset dir="classes/model">
            
                                            <include name="**/*.class"/>
            
                                    </fileset>
            
                                    <fileset dir="classes/action">
            
                                            <include name="**/*.class"/>
            
                                    </fileset>
            
                            </copy>
            
                    </target>
            
            
                         <target name="jar" depends="compile,copyclasses" 
            
                            description="Build the distribution .jar file">
            
                            <copy todir="${jar.dir}">
            
                               <fileset dir="${basedir}/resources">
            
                                   <include name="seam.properties" />
            
                                   <include name="*.drl" />
            
                                   <include name="GlassfishDerbyDialect.class" />
            
                               </fileset>
            
                            </copy>
            
            
                            <copy todir="${jar.dir}/META-INF">
            
                                    <fileset dir="${basedir}/resources/META-INF">
            
                                            <include name="ejb-jar.xml" />
            
                                    </fileset>
            
                            </copy>
            
                            <copy tofile="${jar.dir}/META-INF/persistence.xml" 
            
                                        file="${basedir}/resources/META-INF/persistence-${profile}.xml"
            
                               overwrite="true"/>
            
                            <copy tofile="${jar.dir}/import.sql" 
            
                                        file="${basedir}/resources/import-${profile}.sql"
            
                               overwrite="true"/>
            
                    </target>
            
            
                    <target name="war" depends="compile" 
            
                                    description="Build the distribution .war file">
            
                         
            
                         <copy todir="${war.dir}">
            
                            <fileset dir="${basedir}/resources" >
            
                                <include name="*.drl" />
            
                            </fileset>
            
                         </copy>
            
                            <copy todir="${war.dir}">
            
                                    <fileset dir="${basedir}/view" />
            
                            </copy>
            
                            <copy todir="${war.dir}/WEB-INF">
            
                                    <fileset dir="${basedir}/resources/WEB-INF">
            
                                            <include name="*.*"/>
            
                                            <include name="classes/**/*.*"/>
            
                                            <exclude name="classes/**/*.class"/>
            
                                    </fileset>
            
                                    <filterset>
            
                                        <filter token="debug" value="${debug}" />
            
                                        <filter token="jndiPattern" value="${project.name}/#{ejbName}/local" />
            
                                    </filterset>
            
                            </copy>         
            
                            <copy todir="${war.dir}/WEB-INF">
            
                                    <fileset dir="${basedir}/resources/WEB-INF">
            
                                            <include name="lib/*.*"/>
            
                                            <include name="classes/**/*.class"/>
            
                                    </fileset>
            
                            </copy>         
            
                            <copy todir="${war.dir}/WEB-INF/lib">
            
                                    <fileset dir="${lib.dir}">
            
                                            <include name="richfaces-impl*.jar" />
            
                                              <include name="richfaces-ui*.jar" />
            
                                            <include name="oscache*.jar" />
            
                                            <include name="commons-digester.jar" />
            
                                            <include name="commons-beanutils.jar" />
            
                                            <include name="jsf-facelets.jar" />
            
                                            <include name="jboss-seam-*.jar" />
            
                                            <exclude name="jboss-seam-gen.jar" />
            
                                    </fileset>
            
                            </copy>
            
                            <copy todir="${war.dir}/WEB-INF/classes">
            
                                    <fileset dir="${basedir}/resources"> 
            
                                            <include name="messages*.properties"/>
            
                                    </fileset>
            
                            </copy>
            
                    </target>
            
            
                    <target name="ear" description="Build the EAR">
            
                            <copy todir="${ear.dir}">
            
                                    <fileset dir="${basedir}/resources">
            
                                            <include name="*jpdl.xml" />
            
                                            <include name="*hibernate.cfg.xml" />
            
                                            <include name="jbpm.cfg.xml" />
            
                                    </fileset>
            
                                 <!--<fileset dir="${lib.dir}">
            
                                                <include name="jboss-seam.jar" />
            
                                      </fileset>-->
            
                                    <fileset dir="${basedir}">
            
                                            <include name="lib/jbpm*.jar" />
            
                                            <include name="lib/jboss-el.jar" />
            
                                            <include name="lib/drools-*.jar"/>
            
                                            <include name="lib/core.jar"/>
            
                                            <include name="lib/janino*.jar"/>
            
                                            <include name="lib/antlr-*.jar"/>
            
                                            <include name="lib/mvel*.jar"/>
            
                                              <include name="lib/richfaces-api*.jar" />
            
                                         
            
                                             <!-- Hibernate and deps -->
            
                                                <include name="lib/hibernate.jar"/>
            
                                                <include name="lib/hibernate-commons-annotations.jar"/>
            
                                                <include name="lib/hibernate-annotations.jar"/>
            
                                                <include name="lib/hibernate-entitymanager.jar"/>
            
                                                <include name="lib/hibernate-validator.jar"/>
            
                                                <include name="lib/jboss-common-core.jar" />
            
                                             
            
                                             <!-- jsf libs -->
            
                                                <include name="lib/jsf-api.jar" />
            
                                                <include name="lib/jsf-impl.jar" />
            
                                                <include name="lib/el-api.jar" />
            
                                                <include name="lib/el-ri.jar"/>
            
                                             
            
                                             <!-- 3rd party and supporting jars -->
            
                                                <!--<include name="lib/log4j.jar" />-->
            
                                                <include name="lib/javassist.jar"/>
            
                                                <include name="lib/dom4j.jar" />
            
                                                <include name="lib/jboss-archive-browsing.jar" />
            
                                                <include name="lib/concurrent.jar" />
            
                                                <include name="lib/cglib.jar"/>
            
                                                <include name="lib/asm.jar"/>
            
                                                <include name="lib/antlr.jar" />
            
                                                <include name="lib/commons-logging.jar" />
            
                                                <include name="lib/commons-collections.jar" />
            
                                             
            
                                             <!-- seam jar-->
            
                                                <include name="lib/jboss-seam.jar" /> 
            
                                                
            
                                    </fileset>
            
                            </copy>
            
                            <copy todir="${ear.dir}/META-INF">
            
                                    <fileset dir="${basedir}/resources/META-INF">
            
                                            <include name="application.xml" />
            
                                            <include name="jboss-app.xml" />
            
                                    </fileset>
            
                            </copy>
            
                    </target>
            
                    
            
                    <target name="archive" depends="jar,war,ear" 
            
                                    description="Package the archives">
            
                            <jar jarfile="${dist.dir}/${project.name}.jar" basedir="${jar.dir}"/>
            
                            <jar jarfile="${dist.dir}/${project.name}.war" basedir="${war.dir}"/>
            
                            <jar jarfile="${dist.dir}/${project.name}.ear">
            
                                    <fileset dir="${ear.dir}"/>
            
                                    <fileset dir="${dist.dir}">
            
                                            <include name="${project.name}.jar"/>
            
                                            <include name="${project.name}.war"/>
            
                                    </fileset>
            
                                        <fileset dir="${lib.dir}">
            
                                           <include name="jboss-seam.jar" />
            
                                        </fileset>
            
                            </jar>
            
                    </target>
            
                    
            
                    <target name="datasource">
            
                            <fail unless="jboss.home">jboss.home not set</fail>
            
                            <copy todir="${deploy.dir}">
            
                                    <fileset dir="${basedir}/resources">
            
                                            <include name="${project.name}-${profile}-ds.xml" />
            
                                    </fileset>
            
                            </copy>
            
                    </target>
            
                    
            
                    <target name="explode" depends="jar,war,ear,datasource" 
            
                                    description="Deploy the exploded archive">
            
                            <fail unless="jboss.home">jboss.home not set</fail>
            
                            
            
                            <mkdir dir="${jar.deploy.dir}"/>
            
                            <mkdir dir="${war.deploy.dir}"/>                
            
                            
            
                            <copy todir="${jar.deploy.dir}">
            
                                    <fileset dir="${jar.dir}"/>
            
                            </copy>
            
                            <copy todir="${war.deploy.dir}">
            
                                    <fileset dir="${war.dir}"/>
            
                            </copy>
            
                            <copy todir="${ear.deploy.dir}">
            
                                    <fileset dir="${ear.dir}"/>
            
                            </copy>
            
                    </target>
            
            
                    <target name="unexplode" description="Undeploy the exploded archive">
            
                            <delete failonerror="no">
            
                                    <fileset dir="${ear.deploy.dir}">
            
                                            <exclude name="**/*.jar"/>
            
                                    </fileset>
            
                            </delete>
            
                            <delete file="${deploy.dir}/${project.name}-${profile}-ds.xml" failonerror="no"/>
            
                            <delete dir="${ear.deploy.dir}" failonerror="no"/>
            
                    </target>
            
                    
            
                    <target name="restart" depends="explode" description="Restart the exploded archive">
            
                            <touch file="${ear.deploy.dir}/META-INF/application.xml"/>
            
                    </target>
            
            
                    <target name="deploy" depends="archive,datasource" description="Deploy to JBoss AS">
            
                            <fail unless="jboss.home">jboss.home not set</fail>
            
                            <copy todir="${deploy.dir}" file="${dist.dir}/${project.name}.ear" />
            
                    </target>
            
            
                    <target name="undeploy" description="Undeploy the example from JBoss">
            
                            <delete file="${deploy.dir}/${project.name}.ear" />
            
                            <delete file="${deploy.dir}/${project.name}-dev-ds.xml" />
            
                            <delete file="${deploy.dir}/${project.name}-prod-ds.xml" />
            
                    </target>
            
            
                    <target name="clean" description="Cleans up the build directory">
            
                            <delete dir="${dist.dir}"/>
            
                            <delete dir="${ear.dir}"/>
            
                            <delete dir="${war.dir}"/>
            
                            <delete dir="${jar.dir}"/>
            
                              <delete dir="${src.schema.dir}" failonerror="no"/>
            
                            <delete dir="${basedir}/test-report"/>
            
                            <delete dir="${basedir}/test-output"/>
            
                            <delete failonerror="no">
            
                                    <fileset dir="${test.dir}">
            
                                            <exclude name="**/*.class" if="eclipse.running"/>
            
                                    </fileset>
            
                            </delete>
            
                    </target>
            
            
                    <target name="compiletest" unless="eclipse.running" description="Compile the Java source code for the tests">
            
                    <mkdir dir="${test.dir}"/>
            
                    <javac classpathref="build.classpath"
            
                                    destdir="${test.dir}"
            
                                      debug="${javac.debug}"
            
                                deprecation="${javac.deprecation}"
            
                                    nowarn="on">
            
                            <src path="${src.action.dir}" />
            
                            <src path="${src.model.dir}" />
            
                            <src path="${src.test.dir}" />
            
                    </javac>
            
                    </target>
            
                    
            
                    <target name="copytestclasses" if="eclipse.running" description="Copy classes compiled by eclipse to the test dir">
            
                    <mkdir dir="${test.dir}"/>
            
                            <copy todir="${test.dir}">
            
                                    <fileset dir="classes/model">
            
                                            <include name="**/*.class"/>
            
                                    </fileset>
            
                            </copy>
            
                            <copy todir="${test.dir}">
            
                                    <fileset dir="classes/action">
            
                                            <include name="**/*.class"/>
            
                                    </fileset>
            
                            </copy>
            
                            <copy todir="${test.dir}">
            
                                    <fileset dir="classes/test">
            
                                            <include name="**/*.class"/>
            
                                    </fileset>
            
                            </copy>
            
                    </target>
            
                    
            
                    <target name="buildtest" depends="compiletest,copytestclasses" description="Build the tests">
            
                            <copy todir="${test.dir}">
            
                                    <fileset dir="${basedir}/resources">
            
                                            <exclude name="META-INF/persistence*.xml"/>
            
                                            <exclude name="import*.sql"/>
            
                                            <exclude name="${project.name}-*-ds.xml"/>
            
                                    </fileset>
            
                            </copy>
            
                            <copy tofile="${test.dir}/META-INF/persistence.xml" 
            
                                    file="${basedir}/resources/META-INF/persistence-test.xml"
            
                               overwrite="true"/>
            
                            <copy tofile="${test.dir}/import.sql" 
            
                                    file="${basedir}/resources/import-test.sql"
            
                               overwrite="true"/>
            
                            <copy todir="${test.dir}" flatten="true">
            
                                    <fileset dir="${src.test.dir}">
            
                                            <include name="**/*Test.xml" />
            
                                    </fileset>
            
                            </copy>
            
                    </target>
            
            
                    <target name="test" depends="buildtest" description="Run the tests">            
            
                            <taskdef resource="testngtasks" classpath="${testng.jar}" />
            
                              <path id="test.path">
            
                                   <path path="${test.dir}" />
            
                                   <fileset dir="${lib.dir}/test">
            
                                        <include name="*.jar"/>
            
                                   </fileset>
            
                                   <path path="${bootstrap.dir}" />
            
                                   <path refid="build.classpath" />
            
                              </path>
            
                            <testng outputdir="${basedir}/test-report">
            
                                <classpath refid="test.path" />
            
                                <xmlfileset dir="${test.dir}" includes="*Test.xml" />
            
                            </testng>
            
                    </target>
            
                 
            
                 <target name="validateConfiguration" depends="war,ear,jar" description="Validate the xml configuration files">
            
                      <mkdir dir="${schema.dir}"/>
            
                      <unjar src="${lib.dir}/jboss-seam.jar" dest="${schema.dir}">
            
                           <patternset>
            
                                <include name="org/jboss/seam/*.xsd"/>
            
                                <include name="org/jboss/seam/*.dtd"/>
            
                           </patternset>
            
                      </unjar>
            
                      <ant antfile="validate.xml" target="validateConfiguration" />
            
                 </target>
            
                    
            
            </project>
            
            
            




            My web.xml looks like:


            
            <?xml version="1.0" encoding="UTF-8"?>
            
            <web-app version="2.4" 
            
                     xmlns="http://java.sun.com/xml/ns/j2ee"
            
                     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
            
                     xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee 
            
                                         http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
            
            
            
                <!-- Ajax4jsf -->
            
                
            
                <context-param>
            
                    <param-name>org.richfaces.SKIN</param-name>
            
                    <param-value>blueSky</param-value>
            
                </context-param>
            
             
            
               <!-- Seam -->
            
                
            
               <listener>
            
                  <listener-class>org.jboss.seam.servlet.SeamListener</listener-class>
            
               </listener>
            
                
            
                <filter>
            
                    <filter-name>Seam Filter</filter-name>
            
                    <filter-class>org.jboss.seam.servlet.SeamFilter</filter-class>
            
                </filter>
            
            
                <filter-mapping>
            
                    <filter-name>Seam Filter</filter-name>
            
                    <url-pattern>/*</url-pattern>
            
                </filter-mapping>
            
                    
            
               <servlet>
            
                  <servlet-name>Seam Resource Servlet</servlet-name>
            
                  <servlet-class>org.jboss.seam.servlet.SeamResourceServlet</servlet-class>
            
               </servlet>
            
                
            
               <servlet-mapping>
            
                  <servlet-name>Seam Resource Servlet</servlet-name>
            
                  <url-pattern>/seam/resource/*</url-pattern>
            
               </servlet-mapping>
            
               
            
               <!-- Facelets development mode (disable in production) -->
            
               
            
               <context-param>
            
                  <param-name>facelets.DEVELOPMENT</param-name>
            
                  <param-value>true</param-value>
            
               </context-param>
            
                
            
               <!-- JSF -->
            
               
            
               <context-param>
            
                  <param-name>javax.faces.DEFAULT_SUFFIX</param-name>
            
                  <param-value>.xhtml</param-value>
            
               </context-param>
            
            
               <servlet>
            
                  <servlet-name>Faces Servlet</servlet-name>
            
                  <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
            
                  <load-on-startup>1</load-on-startup>
            
               </servlet>
            
                
            
               <servlet-mapping>
            
                  <servlet-name>Faces Servlet</servlet-name>
            
                  <url-pattern>*.seam</url-pattern>
            
               </servlet-mapping>
            
                              
            
               <security-constraint> 
            
                   <display-name>Restrict raw XHTML Documents</display-name>
            
                   <web-resource-collection>
            
                       <web-resource-name>XHTML</web-resource-name>
            
                       <url-pattern>*.xhtml</url-pattern>
            
                   </web-resource-collection>
            
                   <auth-constraint/>
            
               </security-constraint>
            
               
            
               <ejb-local-ref>              
            
                <ejb-ref-name>websphere_example/AuthenticatorAction</ejb-ref-name>                
            
                <ejb-ref-type>Session</ejb-ref-type>     
            
                <local-home></local-home>
            
                <local>com.seam.websphere.session.Authenticator</local>  
            
              </ejb-local-ref>
            
               
            
              <ejb-local-ref>
            
                <ejb-ref-name>websphere_example/EjbSynchronizations</ejb-ref-name>  
            
                <ejb-ref-type>Session</ejb-ref-type>
            
                <local-home></local-home>
            
                <local>org.jboss.seam.transaction.LocalEjbSynchronizations</local>
            
              </ejb-local-ref>
            
               
            
            </web-app>
            
            
            




            • 3. Re: Deploying an application created using seam-gen on Websphere 6.1.0.13
              ericcho

              to continue...




              and my components.xml looks like:


              
              <?xml version="1.0" encoding="UTF-8"?>
              
              <components xmlns="http://jboss.com/products/seam/components"
              
                          xmlns:core="http://jboss.com/products/seam/core"
              
                          xmlns:persistence="http://jboss.com/products/seam/persistence"
              
                          xmlns:drools="http://jboss.com/products/seam/drools"
              
                          xmlns:bpm="http://jboss.com/products/seam/bpm"
              
                          xmlns:security="http://jboss.com/products/seam/security"
              
                          xmlns:mail="http://jboss.com/products/seam/mail"
              
                          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
              
                          xmlns:transaction="http://jboss.com/products/seam/transaction"
              
                          xsi:schemaLocation=
              
                              "http://jboss.com/products/seam/core http://jboss.com/products/seam/core-2.1.xsd 
              
                               http://jboss.com/products/seam/persistence http://jboss.com/products/seam/persistence-2.1.xsd 
              
                               http://jboss.com/products/seam/drools http://jboss.com/products/seam/drools-2.1.xsd
              
                               http://jboss.com/products/seam/bpm http://jboss.com/products/seam/bpm-2.1.xsd
              
                               http://jboss.com/products/seam/security http://jboss.com/products/seam/security-2.1.xsd
              
                               http://jboss.com/products/seam/mail http://jboss.com/products/seam/mail-2.1.xsd
              
                               http://jboss.com/products/seam/components http://jboss.com/products/seam/components-2.1.xsd">
              
              
                 <core:init debug="true" jndi-pattern="java:comp/env/websphere_example/#{ejbName}"/>
              
                 <transaction:ejb-transaction  />
              
                 <core:manager concurrent-request-timeout="500" 
              
                               conversation-timeout="120000" 
              
                               conversation-id-parameter="cid"
              
                               parent-conversation-id-parameter="pid"/>
              
                  
              
               
              
                 <drools:rule-base name="securityRules">
              
                     <drools:rule-files>
              
                         <value>/security.drl</value>
              
                     </drools:rule-files>
              
                 </drools:rule-base>
              
              
                 <security:identity security-rules="#{securityRules}" remember-me="true"/>
              
                 
              
                 <event type="org.jboss.seam.security.notLoggedIn">
              
                     <action execute="#{redirect.captureCurrentView}"/>
              
                 </event>
              
                 <event type="org.jboss.seam.security.loginSuccessful">
              
                     <action execute="#{redirect.returnToCapturedView}"/>
              
                 </event>
              
                 
              
                 <mail:mail-session host="localhost" port="2525" username="test" password="test" />
              
                      
              
                 <!-- For use with jBPM pageflow or process management -->
              
                 <!--  
              
                 <bpm:jbpm>
              
                    <bpm:process-definitions></bpm:process-definitions>
              
                    <bpm:pageflow-definitions></bpm:pageflow-definitions>
              
                 </bpm:jbpm>
              
                 -->
              
                    
              
              </components>
              
              
              



              the jndi references look alright... maybe i'm missing something else.


              Thanks again for your help.

              • 4. Re: Deploying an application created using seam-gen on Websphere 6.1.0.13
                jbalunas.jbalunas.jboss.org

                Please double check a few things:


                Verify that the jboss-archive-browsing.jar is in the archive.


                Also verify when deploying app:




                Select the Deploy enterprise beans  check box.

                and




                Make sure that Allow EJB reference targets to resolve automatically check box is selected. This will tell Websphere to bind our EJB3 beans to the EJB references in the web module.


                Also that both the application and the war module are set to application first for classloader options.


                -Jay

                • 5. Re: Deploying an application created using seam-gen on Websphere 6.1.0.13
                  ericcho




                  Verify that the jboss-archive-browsing.jar is in the archive.


                  Check



                  Select the Deploy enterprise beans check box.


                  Check



                  Make sure that Allow EJB reference targets to resolve automatically check box is selected. This will tell Websphere to bind our EJB3 beans to the EJB references in the web module.

                  Check



                  Also that both the application and the war module are set to application first for classloader options.

                  Check...


                  but when I change the classloader option to application first .... I get the following exception.   I get a very similar error when I attempt to deploy the booking example. 


                  
                  [4/4/08 14:21:57:383 MDT] 00000039 SystemErr     R AppDeploymentException: [ADMA0014E: Validation failed. ADMA0007E: A Validation error occurred in task Mapping EJB references to enterprise beans.  The Java Naming and Directory Interface (JNDI) name is not specified for reference binding Websphere_Example/AuthenticatorAction in module WebSphere_Example.war with EJB name .
                  
                  ADMA0007E: A Validation error occurred in task Mapping EJB references to enterprise beans.  The Java Naming and Directory Interface (JNDI) name is not specified for reference binding Websphere_Example/EjbSynchronizations in module WebSphere_Example.war with EJB name .
                  
                  ]
                  
                  [4/4/08 14:21:57:383 MDT] 00000039 SystemErr     R AppDeploymentException: [ADMA0014E: Validation failed. ADMA0007E: A Validation error occurred in task Mapping EJB references to enterprise beans.  The Java Naming and Directory Interface (JNDI) name is not specified for reference binding Websphere_Example/AuthenticatorAction in module WebSphere_Example.war with EJB name .
                  
                  ADMA0007E: A Validation error occurred in task Mapping EJB references to enterprise beans.  The Java Naming and Directory Interface (JNDI) name is not specified for reference binding Websphere_Example/EjbSynchronizations in module WebSphere_Example.war with EJB name .
                  
                  ]
                  
                  [4/4/08 14:21:57:383 MDT] 00000039 SystemErr     R AppDeploymentException: [ADMA0014E: Validation failed. ADMA0007E: A Validation error occurred in task Mapping EJB references to enterprise beans.  The Java Naming and Directory Interface (JNDI) name is not specified for reference binding Websphere_Example/AuthenticatorAction in module WebSphere_Example.war with EJB name .
                  
                  ADMA0007E: A Validation error occurred in task Mapping EJB references to enterprise beans.  The Java Naming and Directory Interface (JNDI) name is not specified for reference binding Websphere_Example/EjbSynchronizations in module WebSphere_Example.war with EJB name .
                  
                  ]
                  
                  [4/4/08 14:21:57:383 MDT] 00000039 SystemErr     R      at com.ibm.websphere.management.application.client.AppDeploymentController.close(AppDeploymentController.java:648)
                  
                  [4/4/08 14:21:57:383 MDT] 00000039 SystemErr     R      at com.ibm.ws.management.application.EditSchedulerImpl.setupTasks(EditSchedulerImpl.java:104)
                  
                  [4/4/08 14:21:57:383 MDT] 00000039 SystemErr     R      at com.ibm.ws.management.application.SchedulerImpl.run(SchedulerImpl.java:250)
                  
                  [4/4/08 14:21:57:383 MDT] 00000039 SystemErr     R      at com.ibm.ws.management.application.EditApplication.setApplicationInfo(EditApplication.java:387)
                  
                  [4/4/08 14:21:57:383 MDT] 00000039 SystemErr     R      at com.ibm.ws.management.application.AppManagementImpl._setApplicationInfo(AppManagementImpl.java:675)
                  
                  [4/4/08 14:21:57:383 MDT] 00000039 SystemErr     R      at com.ibm.ws.management.application.AppManagementImpl.setApplicationInfo(AppManagementImpl.java:616)
                  
                  [4/4/08 14:21:57:383 MDT] 00000039 SystemErr     R      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                  
                  [4/4/08 14:21:57:383 MDT] 00000039 SystemErr     R      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:79)
                  
                  [4/4/08 14:21:57:383 MDT] 00000039 SystemErr     R      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
                  
                  [4/4/08 14:21:57:383 MDT] 00000039 SystemErr     R      at java.lang.reflect.Method.invoke(Method.java:618)
                  
                  [4/4/08 14:21:57:383 MDT] 00000039 SystemErr     R      at sun.reflect.misc.Trampoline.invoke(MethodUtil.java:62)
                  
                  [4/4/08 14:21:57:383 MDT] 00000039 SystemErr     R      at sun.reflect.GeneratedMethodAccessor33.invoke(Unknown Source)
                  
                  [4/4/08 14:21:57:383 MDT] 00000039 SystemErr     R      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
                  
                  [4/4/08 14:21:57:383 MDT] 00000039 SystemErr     R      at java.lang.reflect.Method.invoke(Method.java:618)
                  
                  [4/4/08 14:21:57:383 MDT] 00000039 SystemErr     R      at sun.reflect.misc.MethodUtil.invoke(MethodUtil.java:265)
                  
                  [4/4/08 14:21:57:383 MDT] 00000039 SystemErr     R      at javax.management.modelmbean.RequiredModelMBean.invokeMethod(RequiredModelMBean.java:1089)
                  
                  [4/4/08 14:21:57:383 MDT] 00000039 SystemErr     R      at javax.management.modelmbean.RequiredModelMBean.invoke(RequiredModelMBean.java:971)
                  
                  [4/4/08 14:21:57:383 MDT] 00000039 SystemErr     R      at com.sun.jmx.mbeanserver.DynamicMetaDataImpl.invoke(DynamicMetaDataImpl.java:231)
                  
                  [4/4/08 14:21:57:383 MDT] 00000039 SystemErr     R      at com.sun.jmx.mbeanserver.MetaDataImpl.invoke(MetaDataImpl.java:238)
                  
                  [4/4/08 14:21:57:383 MDT] 00000039 SystemErr     R      at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:833)
                  
                  [4/4/08 14:21:57:383 MDT] 00000039 SystemErr     R      at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:802)
                  
                  [4/4/08 14:21:57:383 MDT] 00000039 SystemErr     R      at com.ibm.ws.management.AdminServiceImpl$1.run(AdminServiceImpl.java:1081)
                  
                  [4/4/08 14:21:57:383 MDT] 00000039 SystemErr     R      at com.ibm.ws.security.util.AccessController.doPrivileged(AccessController.java:118)
                  
                  [4/4/08 14:21:57:383 MDT] 00000039 SystemErr     R      at com.ibm.ws.management.AdminServiceImpl.invoke(AdminServiceImpl.java:974)
                  
                  [4/4/08 14:21:57:383 MDT] 00000039 SystemErr     R      at com.ibm.ws.console.appdeployment.ApplicationDeploymentSecondaryDetailAction.update(ApplicationDeploymentSecondaryDetailAction.java:405)
                  
                  [4/4/08 14:21:57:383 MDT] 00000039 SystemErr     R      at com.ibm.ws.console.appdeployment.ApplicationDeploymentSecondaryDetailAction.execute(ApplicationDeploymentSecondaryDetailAction.java:229)
                  
                  [4/4/08 14:21:57:383 MDT] 00000039 SystemErr     R      at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)
                  
                  [4/4/08 14:21:57:383 MDT] 00000039 SystemErr     R      at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
                  
                  [4/4/08 14:21:57:383 MDT] 00000039 SystemErr     R      at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1486)
                  
                  [4/4/08 14:21:57:383 MDT] 00000039 SystemErr     R      at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:528)
                  
                  [4/4/08 14:21:57:383 MDT] 00000039 SystemErr     R      at javax.servlet.http.HttpServlet.service(HttpServlet.java:763)
                  
                  [4/4/08 14:21:57:383 MDT] 00000039 SystemErr     R      at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
                  
                  [4/4/08 14:21:57:383 MDT] 00000039 SystemErr     R      at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1070)
                  
                  [4/4/08 14:21:57:383 MDT] 00000039 SystemErr     R      at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1011)
                  
                  [4/4/08 14:21:57:383 MDT] 00000039 SystemErr     R      at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:145)
                  
                  [4/4/08 14:21:57:383 MDT] 00000039 SystemErr     R      at com.ibm.ws.console.core.servlet.WSCUrlFilter.setUpCommandAssistence(WSCUrlFilter.java:792)
                  
                  [4/4/08 14:21:57:383 MDT] 00000039 SystemErr     R      at com.ibm.ws.console.core.servlet.WSCUrlFilter.continueStoringTaskState(WSCUrlFilter.java:363)
                  
                  [4/4/08 14:21:57:383 MDT] 00000039 SystemErr     R      at com.ibm.ws.console.core.servlet.WSCUrlFilter.doFilter(WSCUrlFilter.java:229)
                  
                  [4/4/08 14:21:57:383 MDT] 00000039 SystemErr     R      at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:190)
                  
                  [4/4/08 14:21:57:383 MDT] 00000039 SystemErr     R      at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:130)
                  
                  [4/4/08 14:21:57:383 MDT] 00000039 SystemErr     R      at com.ibm.ws.webcontainer.filter.WebAppFilterChain._doFilter(WebAppFilterChain.java:87)
                  
                  [4/4/08 14:21:57:383 MDT] 00000039 SystemErr     R      at com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:773)
                  
                  [4/4/08 14:21:57:383 MDT] 00000039 SystemErr     R      at com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:681)
                  
                  [4/4/08 14:21:57:383 MDT] 00000039 SystemErr     R      at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:540)
                  
                  [4/4/08 14:21:57:383 MDT] 00000039 SystemErr     R      at com.ibm.ws.wswebcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:486)
                  
                  [4/4/08 14:21:57:383 MDT] 00000039 SystemErr     R      at com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRequest(CacheServletWrapper.java:90)
                  
                  [4/4/08 14:21:57:383 MDT] 00000039 SystemErr     R      at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:744)
                  
                  [4/4/08 14:21:57:383 MDT] 00000039 SystemErr     R      at com.ibm.ws.wswebcontainer.WebContainer.handleRequest(WebContainer.java:1455)
                  
                  [4/4/08 14:21:57:383 MDT] 00000039 SystemErr     R      at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:115)
                  
                  [4/4/08 14:21:57:383 MDT] 00000039 SystemErr     R      at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:454)
                  
                  [4/4/08 14:21:57:383 MDT] 00000039 SystemErr     R      at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java:383)
                  
                  [4/4/08 14:21:57:383 MDT] 00000039 SystemErr     R      at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.ready(HttpInboundLink.java:263)
                  
                  [4/4/08 14:21:57:383 MDT] 00000039 SystemErr     R      at com.ibm.ws.ssl.channel.impl.SSLConnectionLink.determineNextChannel(SSLConnectionLink.java:1002)
                  
                  [4/4/08 14:21:57:383 MDT] 00000039 SystemErr     R      at com.ibm.ws.ssl.channel.impl.SSLConnectionLink.readyInboundPostHandshake(SSLConnectionLink.java:691)
                  
                  [4/4/08 14:21:57:383 MDT] 00000039 SystemErr     R      at com.ibm.ws.ssl.channel.impl.SSLConnectionLink$MyHandshakeCompletedCallback.complete(SSLConnectionLink.java:392)
                  
                  [4/4/08 14:21:57:383 MDT] 00000039 SystemErr     R      at com.ibm.ws.ssl.channel.impl.SSLUtils.handleHandshake(SSLUtils.java:823)
                  
                  [4/4/08 14:21:57:383 MDT] 00000039 SystemErr     R      at com.ibm.ws.ssl.channel.impl.SSLHandshakeIOCallback.complete(SSLHandshakeIOCallback.java:70)
                  
                  [4/4/08 14:21:57:383 MDT] 00000039 SystemErr     R      at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:165)
                  
                  [4/4/08 14:21:57:383 MDT] 00000039 SystemErr     R      at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217)
                  
                  [4/4/08 14:21:57:383 MDT] 00000039 SystemErr     R      at com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161)
                  
                  [4/4/08 14:21:57:383 MDT] 00000039 SystemErr     R      at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:136)
                  
                  [4/4/08 14:21:57:383 MDT] 00000039 SystemErr     R      at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:195)
                  
                  [4/4/08 14:21:57:383 MDT] 00000039 SystemErr     R      at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:743)
                  
                  [4/4/08 14:21:57:383 MDT] 00000039 SystemErr     R      at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:873)
                  
                  [4/4/08 14:21:57:383 MDT] 00000039 SystemErr     R      at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1473)
                  
                  [4/4/08 14:21:57:383 MDT] 00000039 SystemErr     R javax.management.MBeanException: Exception thrown in RequiredModelMBean while trying to invoke operation setApplicationInfo
                  
                  [4/4/08 14:21:57:383 MDT] 00000039 SystemErr     R      at javax.management.modelmbean.RequiredModelMBean.invokeMethod(RequiredModelMBean.java:1116)
                  
                  [4/4/08 14:21:57:383 MDT] 00000039 SystemErr     R      at javax.management.modelmbean.RequiredModelMBean.invoke(RequiredModelMBean.java:971)
                  
                  [4/4/08 14:21:57:383 MDT] 00000039 SystemErr     R      at com.sun.jmx.mbeanserver.DynamicMetaDataImpl.invoke(DynamicMetaDataImpl.java:231)
                  
                  [4/4/08 14:21:57:383 MDT] 00000039 SystemErr     R      at com.sun.jmx.mbeanserver.MetaDataImpl.invoke(MetaDataImpl.java:238)
                  
                  [4/4/08 14:21:57:383 MDT] 00000039 SystemErr     R      at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:833)
                  
                  



                  Thanks,
                  Eric



                  • 6. Re: Deploying an application created using seam-gen on Websphere 6.1.0.13
                    jbalunas.jbalunas.jboss.org

                    I did a quick search for this error and most of the results seem to be talking about IBM's admin console and RAD application. 


                    Are you using either of these?


                    You need to find out what it is not validating internally.  I am not sure that this is a seam issue. 


                    Check out these:


                    http://www-128.ibm.com/developerworks/forums/thread.jspa?threadID=142238


                    http://www-128.ibm.com/developerworks/forums/thread.jspa?threadID=158816

                    • 7. Re: Deploying an application created using seam-gen on Websphere 6.1.0.13
                      shyamkumar.tvb

                      Hi All,


                      I also get the same error



                      ADMA0007E: A Validation error occurred in task Mapping EJB references to enterprise beans.  The Java Naming and Directory Interface (JNDI) name is not specified for reference binding websphere/EjbSynchronizations in module websphere.war with EJB name

                      I am using IBM websphere 6.1 with EJB feature pack.
                      Should i modify any setting on my websphere admin console ?


                      i followed all the steps but yet no luck?


                      Regards


                      Shyam

                      • 8. Re: Deploying an application created using seam-gen on Websphere 6.1.0.13
                        shyamkumar.tvb

                        Hi Eric,


                        were you able to resolve your error ?


                        I am also stuck with the same error. Let me know if you have any fixes


                        Shyam

                        • 9. Re: Deploying an application created using seam-gen on Websphere 6.1.0.13
                          joblini

                          Hmm, interesting that it is complaining about


                           EJB name .



                          Seems as though the EJB name is not being detected.


                          Are you working in RAD?


                          Open your web.xml, check the EJB name as well as the JNDI reference and make sure it correponds to the name you assigned to the EJB in the ejb-jar.xml.


                          Check the .xmi files, this is where IBM stores the binding information.


                          Hope this helps!


                          • 10. Re: Deploying an application created using seam-gen on Websphere 6.1.0.13
                            shyamkumar.tvb
                            Hi that was a copy paste issue ... the original error is

                            SystemErr     R AppDeploymentException: [ADMA0014E: Validation failed. ADMA0007E: A Validation error occurred in task Mapping EJB references to enterprise beans.  The Java Naming and Directory Interface (JNDI) name is not specified for reference binding websphere/AuthenticatorAction in module websphere.war with EJB name .ADMA0007E: A Validation error occurred in task Mapping EJB references to enterprise beans.  The Java Naming and Directory Interface (JNDI) name is not specified for reference binding websphere/EjbSynchronizations in module websphere.war with EJB name .

                            my ibm-web-bnd.xmi looks as follows

                            `<?xml version="1.0" encoding="UTF-8"?>
                            <com.ibm.ejs.models.base.bindings.webappbnd:WebAppBinding xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:com.ibm.ejs.models.base.bindings.webappbnd="webappbnd.xmi" xmlns:org.eclipse.jst.j2ee.common="common.xmi" xmi:id="WebAppBinding_1229566445562" virtualHostName="default_host">
                              <webapp href="WEB-INF/web.xml#WebApp_1229566445562"/>
                              <ejbRefBindings xmi:id="EjbRefBinding_1229566445562" jndiName="">
                                <bindingEjbRef xmi:type="org.eclipse.jst.j2ee.common:EJBLocalRef" href="WEB-INF/web.xml#EJBLocalRef_1229566445562"/>
                              </ejbRefBindings>
                              <ejbRefBindings xmi:id="EjbRefBinding_1229566445563" jndiName="">
                                <bindingEjbRef xmi:type="org.eclipse.jst.j2ee.common:EJBLocalRef" href="WEB-INF/web.xml#EJBLocalRef_1229566445563"/>
                              </ejbRefBindings>
                            </com.ibm.ejs.models.base.bindings.webappbnd:WebAppBinding>`


                            how do i rectify this ???
                            i am following the example as stated above....

                            Regards

                            Shyam
                            • 11. Re: Deploying an application created using seam-gen on Websphere 6.1.0.13
                              joblini

                              The jndiName has not been defined, as can be seen in the .xmi file content you posted:


                                <ejbRefBindings xmi:id="EjbRefBinding_1229566445562" jndiName="">



                              The jndiName must be defined, otherwise the Web module has no way to find the EJB.


                              If you are working in RAD, you can define the jndiName by double clicking the Web Deployment Descriptor (web.xml).  Remember, this name must correspond to the name defined in the EJB deployment descriptor (ejb-jar.xml).  Again, using RAD, you double click ejb-jar.xml, and assign a jndiName, which can be pretty much anything you want, for example, my/ejb/whatever.


                              The important thing is that the web module references the same name you defined for the EJB.


                              This can also be done using the console during deployment, but it is easier to do using RAD.


                              Perhaps Seam-Gen didn't generate this properly, in any case, if you want to get it running, I think that this is what you have to do!

                              • 12. Re: Deploying an application created using seam-gen on Websphere 6.1.0.13
                                shyamkumar.tvb

                                hi ...


                                let me know if i am missing something fundamental


                                web.xml



                                <?xml version="1.0" ?>
                                <web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                                        xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
                                        version="2.4">
                                
                                        <!-- RichFaces -->
                                
                                        <context-param>
                                                <param-name>org.richfaces.SKIN</param-name>
                                                <param-value>ruby</param-value>
                                        </context-param>
                                
                                        <!-- Suppress spurious stylesheets -->
                                
                                        <context-param>
                                                <param-name>org.richfaces.CONTROL_SKINNING
                                                </param-name>
                                                <param-value>disable</param-value>
                                        </context-param>
                                
                                        <context-param>
                                                <param-name>org.richfaces.CONTROL_SKINNING_CLASSES
                                                </param-name>
                                                <param-value>disable</param-value>
                                        </context-param>
                                
                                        <!--
                                                Change load strategy to DEFAULT to disable sending scripts/styles as
                                                packs
                                        -->
                                
                                        <context-param>
                                                <param-name>org.richfaces.LoadStyleStrategy
                                                </param-name>
                                                <param-value>ALL</param-value>
                                        </context-param>
                                
                                        <context-param>
                                                <param-name>org.richfaces.LoadScriptStrategy
                                                </param-name>
                                                <param-value>ALL</param-value>
                                        </context-param>
                                
                                        <!-- Seam -->
                                
                                        <listener>
                                                <listener-class>org.jboss.seam.servlet.SeamListener
                                                </listener-class>
                                        </listener>
                                
                                        <filter>
                                                <filter-name>Seam Filter</filter-name>
                                                <filter-class>org.jboss.seam.servlet.SeamFilter
                                                </filter-class>
                                        </filter>
                                
                                        <filter-mapping>
                                                <filter-name>Seam Filter</filter-name>
                                                <url-pattern>/*</url-pattern>
                                        </filter-mapping>
                                
                                        <!-- PDF Filter -->
                                        <servlet>
                                                <servlet-name>Document Store Servlet</servlet-name>
                                                <servlet-class>org.jboss.seam.document.DocumentStoreServlet
                                                </servlet-class>
                                        </servlet>
                                
                                        <servlet-mapping>
                                                <servlet-name>Document Store Servlet</servlet-name>
                                                <url-pattern>*.pdf</url-pattern>
                                        </servlet-mapping>
                                
                                        <servlet>
                                                <servlet-name>Seam Resource Servlet</servlet-name>
                                                <servlet-class>org.jboss.seam.servlet.SeamResourceServlet
                                                </servlet-class>
                                        </servlet>
                                
                                        <servlet-mapping>
                                                <servlet-name>Seam Resource Servlet</servlet-name>
                                                <url-pattern>/seam/resource/*</url-pattern>
                                        </servlet-mapping>
                                
                                        <!-- Facelets development mode (disable in production) -->
                                
                                        <context-param>
                                                <param-name>facelets.DEVELOPMENT</param-name>
                                                <param-value>true</param-value>
                                        </context-param>
                                
                                        <!-- JSF -->
                                
                                        <context-param>
                                                <param-name>javax.faces.DEFAULT_SUFFIX
                                                </param-name>
                                                <param-value>.xhtml</param-value>
                                        </context-param>
                                
                                        <servlet>
                                                <servlet-name>Faces Servlet</servlet-name>
                                                <servlet-class>javax.faces.webapp.FacesServlet
                                                </servlet-class>
                                                <load-on-startup>1</load-on-startup>
                                        </servlet>
                                
                                        <servlet-mapping>
                                                <servlet-name>Faces Servlet</servlet-name>
                                                <url-pattern>*.seam</url-pattern>
                                        </servlet-mapping>
                                
                                        <security-constraint>
                                                <display-name>Restrict raw XHTML Documents</display-name>
                                                <web-resource-collection>
                                                        <web-resource-name>XHTML</web-resource-name>
                                                        <url-pattern>*.xhtml</url-pattern>
                                                </web-resource-collection>
                                                <auth-constraint />
                                        </security-constraint>
                                
                                        <ejb-local-ref>
                                                <ejb-ref-name>helloworld/AuthenticatorAction
                                                </ejb-ref-name>
                                                <ejb-ref-type>Session</ejb-ref-type>
                                                <local-home></local-home>
                                                <local>org.jboss.helloworld.Authenticator
                                                </local>
                                        </ejb-local-ref>
                                        
                                        <ejb-local-ref>
                                                <ejb-ref-name>helloworld/EjbSynchronizations
                                                </ejb-ref-name>
                                                <ejb-ref-type>Session</ejb-ref-type>
                                                <local-home></local-home>
                                                <local>org.jboss.seam.transaction.LocalEjbSynchronizations
                                                </local>
                                        </ejb-local-ref>
                                
                                </web-app>
                                
                                




                                ejb-jar.xml



                                <?xml version="1.0" encoding="UTF-8"?>
                                <ejb-jar xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                                        xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd"
                                        version="3.0">
                                
                                        <enterprise-beans>
                                                <session>
                                                        <ejb-name>AuthenticatorAction</ejb-name>
                                                        
                                                        <ejb-local-ref>
                                                                <ejb-ref-name>helloworld/AuthenticatorAction
                                                                </ejb-ref-name>
                                                                <local>org.jboss.helloworld.Authenticator
                                                                </local>
                                                        </ejb-local-ref>
                                                </session>
                                                
                                                <session>
                                                        <ejb-name>EjbSynchronizations</ejb-name>
                                                        <ejb-local-ref>
                                                                <ejb-ref-name>helloworld/EjbSynchronizations
                                                                </ejb-ref-name>
                                                                <local>org.jboss.seam.transaction.LocalEjbSynchronizations
                                                                </local>
                                                        </ejb-local-ref>
                                                </session>
                                        </enterprise-beans>
                                        <interceptors>
                                                <interceptor>
                                                        <interceptor-class>org.jboss.seam.ejb.SeamInterceptor
                                                        </interceptor-class>
                                                </interceptor>
                                        </interceptors>
                                
                                        <assembly-descriptor>
                                                <interceptor-binding>
                                                        <ejb-name>*</ejb-name>
                                                        <interceptor-class>org.jboss.seam.ejb.SeamInterceptor
                                                        </interceptor-class>
                                                </interceptor-binding>
                                        </assembly-descriptor>
                                
                                </ejb-jar>



                                Please let me know in case i have not understood what you intend to say


                                Thanks and regards


                                Shyam


                                • 13. Re: Deploying an application created using seam-gen on Websphere 6.1.0.13
                                  joblini

                                  Please verify that the following step is being performed during deployment, in particular, is Allow EJB reference targets to resolve automatically selected?



                                  Map EJB references to beans This page will list all of the beans that we entered in the web.xml.


                                  Make sure that Allow EJB reference targets to resolve automatically check box is selected. This will tell Websphere to bind our EJB3 beans to the EJB references in the web module.