Announcement Announcement Module
Collapse
No announcement yet.
EJB home [null] has no no-arg create() method. It's there Page Title Module
Move Remove Collapse
X
Conversation Detail Module
Collapse
  • Filter
  • Time
  • Show
Clear All
new posts

  • EJB home [null] has no no-arg create() method. It's there

    I recieve this error when binding to a remote stateless EJB.

    Code:
    [11/1/04 13:25:44:114 EST]  e910e91 DefaultListab I org.springframework.beans.factory.support.DefaultListableBeanFactory  Pre-instantiating singletons in factory [org.springframework.beans.factory.support.DefaultListableBeanFactory defining beans [UserManager]; Root of BeanFactory hierarchy]
    [11/1/04 13:25:44:114 EST]  e910e91 DefaultListab I org.springframework.beans.factory.support.DefaultListableBeanFactory  Creating shared instance of singleton bean 'UserManager'
    [11/1/04 13:25:49:036 EST]  e910e91 BeanDelegate  I com.llic.util.ejb.BeanDelegate  Located object with JNDI name [ejb/UserManagerBean]: value=[IOR:000000000000003e524d493a636f6d2e6c6c69632e757365726d616e616765722e656a622e557365724d616e61676572486f6d653a3030303030303030303030303030303000000000000001000000000000039c0001020000000011646576776173312e6c6c69632e636f6d00000dd6000000b94a4d4249000000124760d55865393862343736306435353839386435000000240000009549454a5002000d1093aa0c446f634672616d65776f726b03454a4200000076acac0002000100290000005f5f686f6d654f66486f6d6573235f5f686f6d654f66486f6d6573235f5f686f6d654f66486f6d6573084a6176612055736572204d616e61676d656e742073797374656d23757365726d616e61676572656a622e6a617223656a622f557365724d616e616765724265616e0000000000000b0000000100000014000000000501000100000000000101000000000049424d0a00000008000000011420000100000026000000020002000049424d040000000500050101020000000000001f000000040000000300000020000000040000000100000021000001d8000100000000000400020000000000240000001e0000002600020000000000010000000c3139322e3136382e322e36000dd80040000000000000000806062b1200021e02000000230401000806062b1200021e02000000136d69636b65792e6c6c69632e636f6d3a333839000000000000000000000000000000000000420000000000240000001e0000006600420000000000010000000c3139322e3136382e322e36000dd90040000000000000000806062b1200021e02000000230401000806062b1200021e02000000136d69636b65792e6c6c69632e636f6d3a333839000000000000000000000000000000000000020000000000240000001e0000002600020000000000010000000c3139322e3136382e322e36000dd800400000000000000008060667810201010100000023040100080606678102010101000000136d69636b65792e6c6c69632e636f6d3a333839000000000000000000000000000000000000420000000000240000001e0000006600420000000000010000000c3139322e3136382e322e36000dd900400000000000000008060667810201010100000023040100080606678102010101000000136d69636b65792e6c6c69632e636f6d3a333839000000000000000000000000000000000000000014000000080000007e407e0dd749424d060000002800000000196d69636b65792e6c6c69632e636f6d3a3338392f7761736164312e312e31202000407e000003090000002800000000196d69636b65792e6c6c69632e636f6d3a3338392f7761736164312e312e31202000407e000000250000000400000003]
    [11/1/04 13:25:49:302 EST]  e910e91 ServletInstan E SRVE0100E: Did not realize  init() exception thrown by servlet SystemInitializer: javax.servlet.ServletException: Error creating bean with name 'UserManager' defined in class path resource [usermanagerejbcontext.xml]: Initialization of bean failed; nested exception is org.aopalliance.aop.AspectException: EJB home [null] has no no-arg create() method
    	at java.lang.Throwable.<init>&#40;Throwable.java&#41;
    	at java.lang.Throwable.<init>&#40;Throwable.java&#58;73&#41;
    	at javax.servlet.ServletException.<init>&#40;ServletException.java&#58;161&#41;
    	at com.ibm.ws.webcontainer.servlet.StrictServletInstance.doInit&#40;StrictServletInstance.java&#58;99&#41;
    	at com.ibm.ws.webcontainer.servlet.StrictLifecycleServlet._init&#40;StrictLifecycleServlet.java&#58;147&#41;
    	at com.ibm.ws.webcontainer.servlet.PreInitializedServletState.init&#40;StrictLifecycleServlet.java&#58;270&#41;
    	at com.ibm.ws.webcontainer.servlet.StrictLifecycleServlet.init&#40;StrictLifecycleServlet.java&#58;113&#41;
    	at com.ibm.ws.webcontainer.servlet.ServletInstance.init&#40;ServletInstance.java&#58;189&#41;
    	at javax.servlet.GenericServlet.init&#40;GenericServlet.java&#58;258&#41;
    	at com.ibm.ws.webcontainer.webapp.WebAppServletManager.addServlet&#40;WebAppServletManager.java&#58;870&#41;
    	at com.ibm.ws.webcontainer.webapp.WebAppServletManager.loadServlet&#40;WebAppServletManager.java&#58;224&#41;
    	at com.ibm.ws.webcontainer.webapp.WebAppServletManager.loadAutoLoadServlets&#40;WebAppServletManager.java&#58;542&#41;
    	at com.ibm.ws.webcontainer.webapp.WebApp.loadServletManager&#40;WebApp.java&#58;1277&#41;
    	at com.ibm.ws.webcontainer.webapp.WebApp.init&#40;WebApp.java&#58;283&#41;
    	at com.ibm.ws.webcontainer.srt.WebGroup.loadWebApp&#40;WebGroup.java&#58;387&#41;
    	at com.ibm.ws.webcontainer.srt.WebGroup.init&#40;WebGroup.java&#58;209&#41;
    	at com.ibm.ws.webcontainer.WebContainer.addWebApplication&#40;WebContainer.java&#58;987&#41;
    	at com.ibm.ws.runtime.component.WebContainerImpl.install&#40;WebContainerImpl.java&#58;136&#41;
    	at com.ibm.ws.runtime.component.WebContainerImpl.start&#40;WebContainerImpl.java&#58;356&#41;
    	at com.ibm.ws.runtime.component.ApplicationMgrImpl.start&#40;ApplicationMgrImpl.java&#58;418&#41;
    	at com.ibm.ws.runtime.component.DeployedApplicationImpl.fireDeployedObjectStart&#40;DeployedApplicationImpl.java&#58;787&#41;
    	at com.ibm.ws.runtime.component.DeployedModuleImpl.start&#40;DeployedModuleImpl.java&#58;354&#41;
    	at com.ibm.ws.runtime.component.DeployedApplicationImpl.start&#40;DeployedApplicationImpl.java&#58;575&#41;
    	at com.ibm.ws.runtime.component.ApplicationMgrImpl.startApplication&#40;ApplicationMgrImpl.java&#58;271&#41;
    	at com.ibm.ws.runtime.component.ApplicationMgrImpl.start&#40;ApplicationMgrImpl.java&#58;249&#41;
    	at com.ibm.ws.runtime.component.ContainerImpl.startComponents&#40;ContainerImpl.java&#58;536&#41;
    	at com.ibm.ws.runtime.component.ContainerImpl.start&#40;ContainerImpl.java&#58;413&#41;
    	at com.ibm.ws.runtime.component.ApplicationServerImpl.start&#40;ApplicationServerImpl.java&#58;125&#41;
    	at com.ibm.ws.runtime.component.ContainerImpl.startComponents&#40;ContainerImpl.java&#58;536&#41;
    	at com.ibm.ws.runtime.component.ContainerImpl.start&#40;ContainerImpl.java&#58;413&#41;
    	at com.ibm.ws.runtime.component.ServerImpl.start&#40;ServerImpl.java&#58;183&#41;
    	at com.ibm.ws.runtime.WsServer.start&#40;WsServer.java&#58;128&#41;
    	at com.ibm.ws.runtime.WsServer.main&#40;WsServer.java&#58;225&#41;
    	at sun.reflect.NativeMethodAccessorImpl.invoke0&#40;Native Method&#41;
    	at sun.reflect.NativeMethodAccessorImpl.invoke&#40;NativeMethodAccessorImpl.java&#58;79&#41;
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke&#40;DelegatingMethodAccessorImpl.java&#58;41&#41;
    	at java.lang.reflect.Method.invoke&#40;Method.java&#58;386&#41;
    	at com.ibm.ws.bootstrap.WSLauncher.main&#40;WSLauncher.java&#58;94&#41;
    	at com.ibm.etools.websphere.tools.runner.api.ServerRunnerV5$1.run&#40;ServerRunnerV5.java&#58;97&#41;
    ---- Begin backtrace for Nested Throwables
    org.springframework.beans.factory.BeanCreationException&#58; Error creating bean with name 'UserManager' defined in class path resource &#91;usermanagerejbcontext.xml&#93;&#58; Initialization of bean failed; nested exception is org.aopalliance.aop.AspectException&#58; EJB home &#91;null&#93; has no no-arg create&#40;&#41; method
    EJB home &#91;null&#93; has no no-arg create&#40;&#41; method
    &#91;11/1/04 13&#58;25&#58;49&#58;427 EST&#93;  e910e91 WebGroup      E SRVE0020E&#58; &#91;Servlet Error&#93;-&#91;SystemInitializer&#93;&#58; Failed to load servlet&#58; org.springframework.beans.factory.BeanCreationException&#58; Error creating bean with name 'UserManager' defined in class path resource &#91;usermanagerejbcontext.xml&#93;&#58; Initialization of bean failed; nested exception is org.aopalliance.aop.AspectException&#58; EJB home &#91;null&#93; has no no-arg create&#40;&#41; method
    EJB home &#91;null&#93; has no no-arg create&#40;&#41; method
    &#91;11/1/04 13&#58;25&#58;49&#58;443 EST&#93;  e910e91 TraceNLS      u No message text associated with key Error.creating.bean.with.name.'UserManager'.defined.in.class.path.resource.&#91;usermanagerejbcontext.xml&#93;&#58;.Initialization.of.bean.failed;.nested.exception.is.org.aopalliance.aop.AspectException&#58;.EJB.home.&#91;null&#93;.has.no.no-arg.create&#40;&#41;.method in bundle com.ibm.ejs.resources.seriousMessages
    &#91;11/1/04 13&#58;25&#58;49&#58;443 EST&#93;  e910e91 WebAppServlet E Error creating bean with name UserManager defined in class path resource &#91;usermanagerejbcontext.xml&#93;&#58; Initialization of bean failed; nested exception is org.aopalliance.aop.AspectException&#58; EJB home &#91;null&#93; has no no-arg create&#40;&#41; method
    &#91;11/1/04 13&#58;25&#58;49&#58;521 EST&#93;  e910e91 WebGroup      I SRVE0180I&#58; &#91;User Manager Web Interface&#93; &#91;/usermanager&#93; &#91;Servlet.LOG&#93;&#58; action&#58; init
    &#91;11/1/04 13&#58;25&#58;50&#58;568 EST&#93;  e910e91 TilesPlugin   I org.apache.struts.tiles.TilesPlugin  Tiles definition factory loaded for module ''.
    As you can see, the BeanDelegate class locates the Remote Bean via JNDI. The BeanDelegate class extends SimpleRemoteStatelessSessionProxyFactoryBean, and simply adds the ability to specify a java.namming.provider.url so that the administrator can change the xml file as the web client is moved from environment to another environment. This worked on Friday, I came in on Monday, and somehow this has become broken. I'm unable to track down the cause and any help would be greatly appreciated. Below are my client classes.

    Code:
    /*
     * Created on Oct 12, 2004
     *
     */
    package com.llic.usermanager.ejb;
    
    import java.rmi.RemoteException;
    import java.util.List;
    
    import com.llic.usermanager.data.ApplicationVO;
    import com.llic.usermanager.data.GroupVO;
    import com.llic.usermanager.data.RoleVO;
    import com.llic.usermanager.data.UserVO;
    
    /**
     * @author Todd Nine
     *
     */
    public interface UserManager
    &#123;
    
    	public static final String ENABLED = "Y";
    	public static final String DISABLED = "N";
    	
           ..methods here...
    
    &#125;
    And the two client classes.

    Code:
    /*
     * Created on Oct 12, 2004
     *
     */
    package com.llic.usermanager.ejb;
    
    import java.rmi.RemoteException;
    
    import javax.ejb.CreateException;
    import javax.ejb.EJBHome;
    
    /**
     * @author Todd Nine
     *
     */
    public interface UserManagerHome extends EJBHome
    &#123;
    	public UserManagerRemote create&#40;&#41; throws CreateException, RemoteException;
    &#125;
    Code:
    /*
     * Created on Oct 12, 2004
     *
     */
    package com.llic.usermanager.ejb;
    
    import java.rmi.Remote;
    import javax.ejb.EJBObject;
    
    /**
     * @author Todd Nine
     *
     */
    public interface UserManagerRemote extends Remote, EJBObject, UserManager
    &#123;
    
    &#125;

  • #2
    Can you invoke the EJB without Spring? Just to check whether the problem is some change in your server config.

    Comment


    • #3
      Output from manual lookup

      OK, I have commented out the spring getBean code, and inserted the manual lookup. Below is the code, and below that is the following exception


      Code:
      public UserManager getUserManager&#40;&#41;
      	&#123;
      		//return &#40;UserManager&#41; getBean&#40;"UserManager"&#41;;
      
      		Hashtable env = new Hashtable&#40;&#41;;
      
      		env.put&#40;
      			"java.naming.factory.initial",
      			"com.ibm.websphere.naming.WsnInitialContextFactory"&#41;;
      		env.put&#40;"java.naming.provider.url", "iiop&#58;//devwas1.llic.com&#58;2813"&#41;;
      
      		Context ctx = null;
      
      		try
      		&#123;
      			ctx = new InitialContext&#40;env&#41;;
      		&#125;
      		catch &#40;NamingException e2&#41;
      		&#123;
      			e2.getMessage&#40;&#41;;
      		&#125;
      
      		UserManagerHome home = null;
      		try
      		&#123;
      
      			home = &#40;UserManagerHome&#41; ctx.lookup&#40;"ejb/UserManagerBean"&#41;;
      		&#125;
      		catch &#40;NamingException e2&#41;
      		&#123;
      			e2.getMessage&#40;&#41;;
      		&#125;
      
      		UserManager manager = null;
      
      		try
      		&#123;
      			manager = home.create&#40;&#41;;
      		&#125;
      		catch &#40;RemoteException e1&#41;
      		&#123;
      			e1.getMessage&#40;&#41;;
      		&#125;
      		catch &#40;CreateException e1&#41;
      		&#123;
      			e1.getMessage&#40;&#41;;
      		&#125;
      
      		return manager;
      	&#125;

      Exception
      Code:
      &#91;11/2/04 9&#58;06&#58;43&#58;707 EST&#93;  e910e91 ServletInstan E SRVE0100E&#58; Did not realize  init&#40;&#41; exception thrown by servlet SystemInitializer&#58; javax.servlet.ServletException&#58; org/omg/stub/java/rmi/_Remote_Stub incompatible with com/llic/usermanager/ejb/UserManagerHome
      	at java.lang.Throwable.<init>&#40;Throwable.java&#41;
      	at java.lang.Throwable.<init>&#40;Throwable.java&#58;73&#41;
      	at javax.servlet.ServletException.<init>&#40;ServletException.java&#58;161&#41;
      	at com.ibm.ws.webcontainer.servlet.StrictServletInstance.doInit&#40;StrictServletInstance.java&#58;99&#41;
      	at com.ibm.ws.webcontainer.servlet.StrictLifecycleServlet._init&#40;StrictLifecycleServlet.java&#58;147&#41;
      	at com.ibm.ws.webcontainer.servlet.PreInitializedServletState.init&#40;StrictLifecycleServlet.java&#58;270&#41;
      	at com.ibm.ws.webcontainer.servlet.StrictLifecycleServlet.init&#40;StrictLifecycleServlet.java&#58;113&#41;
      	at com.ibm.ws.webcontainer.servlet.ServletInstance.init&#40;ServletInstance.java&#58;189&#41;
      	at javax.servlet.GenericServlet.init&#40;GenericServlet.java&#58;258&#41;
      	at com.ibm.ws.webcontainer.webapp.WebAppServletManager.addServlet&#40;WebAppServletManager.java&#58;870&#41;
      	at com.ibm.ws.webcontainer.webapp.WebAppServletManager.loadServlet&#40;WebAppServletManager.java&#58;224&#41;
      	at com.ibm.ws.webcontainer.webapp.WebAppServletManager.loadAutoLoadServlets&#40;WebAppServletManager.java&#58;542&#41;
      	at com.ibm.ws.webcontainer.webapp.WebApp.loadServletManager&#40;WebApp.java&#58;1277&#41;
      	at com.ibm.ws.webcontainer.webapp.WebApp.init&#40;WebApp.java&#58;283&#41;
      	at com.ibm.ws.webcontainer.srt.WebGroup.loadWebApp&#40;WebGroup.java&#58;387&#41;
      	at com.ibm.ws.webcontainer.srt.WebGroup.init&#40;WebGroup.java&#58;209&#41;
      	at com.ibm.ws.webcontainer.WebContainer.addWebApplication&#40;WebContainer.java&#58;987&#41;
      	at com.ibm.ws.runtime.component.WebContainerImpl.install&#40;WebContainerImpl.java&#58;136&#41;
      	at com.ibm.ws.runtime.component.WebContainerImpl.start&#40;WebContainerImpl.java&#58;356&#41;
      	at com.ibm.ws.runtime.component.ApplicationMgrImpl.start&#40;ApplicationMgrImpl.java&#58;418&#41;
      	at com.ibm.ws.runtime.component.DeployedApplicationImpl.fireDeployedObjectStart&#40;DeployedApplicationImpl.java&#58;787&#41;
      	at com.ibm.ws.runtime.component.DeployedModuleImpl.start&#40;DeployedModuleImpl.java&#58;354&#41;
      	at com.ibm.ws.runtime.component.DeployedApplicationImpl.start&#40;DeployedApplicationImpl.java&#58;575&#41;
      	at com.ibm.ws.runtime.component.ApplicationMgrImpl.startApplication&#40;ApplicationMgrImpl.java&#58;271&#41;
      	at com.ibm.ws.runtime.component.ApplicationMgrImpl.start&#40;ApplicationMgrImpl.java&#58;249&#41;
      	at com.ibm.ws.runtime.component.ContainerImpl.startComponents&#40;ContainerImpl.java&#58;536&#41;
      	at com.ibm.ws.runtime.component.ContainerImpl.start&#40;ContainerImpl.java&#58;413&#41;
      	at com.ibm.ws.runtime.component.ApplicationServerImpl.start&#40;ApplicationServerImpl.java&#58;125&#41;
      	at com.ibm.ws.runtime.component.ContainerImpl.startComponents&#40;ContainerImpl.java&#58;536&#41;
      	at com.ibm.ws.runtime.component.ContainerImpl.start&#40;ContainerImpl.java&#58;413&#41;
      	at com.ibm.ws.runtime.component.ServerImpl.start&#40;ServerImpl.java&#58;183&#41;
      	at com.ibm.ws.runtime.WsServer.start&#40;WsServer.java&#58;128&#41;
      	at com.ibm.ws.runtime.WsServer.main&#40;WsServer.java&#58;225&#41;
      	at sun.reflect.NativeMethodAccessorImpl.invoke0&#40;Native Method&#41;
      	at sun.reflect.NativeMethodAccessorImpl.invoke&#40;NativeMethodAccessorImpl.java&#58;79&#41;
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke&#40;DelegatingMethodAccessorImpl.java&#58;41&#41;
      	at java.lang.reflect.Method.invoke&#40;Method.java&#58;386&#41;
      	at com.ibm.ws.bootstrap.WSLauncher.main&#40;WSLauncher.java&#58;94&#41;
      	at com.ibm.etools.websphere.tools.runner.api.ServerRunnerV5$1.run&#40;ServerRunnerV5.java&#58;97&#41;
      ---- Begin backtrace for Nested Throwables
      java.lang.ClassCastException&#58; org/omg/stub/java/rmi/_Remote_Stub incompatible with com/llic/usermanager/ejb/UserManagerHome
      	at java.lang.Throwable.<init>&#40;Throwable.java&#41;
      	at java.lang.Throwable.<init>&#40;Throwable.java&#58;73&#41;
      	at java.lang.ClassCastException.<init>&#40;ClassCastException.java&#58;53&#41;
      	at com.llic.usermanager.web.util.UserMgrEJBHelper.getUserManager&#40;UserMgrEJBHelper.java&#41;
      	at com.llic.usermanager.web.SystemInitializer.init&#40;SystemInitializer.java&#58;48&#41;
      	at com.ibm.ws.webcontainer.servlet.StrictServletInstance.doInit&#40;StrictServletInstance.java&#58;82&#41;
      	at com.ibm.ws.webcontainer.servlet.StrictLifecycleServlet._init&#40;StrictLifecycleServlet.java&#58;147&#41;
      	at com.ibm.ws.webcontainer.servlet.PreInitializedServletState.init&#40;StrictLifecycleServlet.java&#58;270&#41;
      	at com.ibm.ws.webcontainer.servlet.StrictLifecycleServlet.init&#40;StrictLifecycleServlet.java&#58;113&#41;
      	at com.ibm.ws.webcontainer.servlet.ServletInstance.init&#40;ServletInstance.java&#58;189&#41;
      	at javax.servlet.GenericServlet.init&#40;GenericServlet.java&#58;258&#41;
      	at com.ibm.ws.webcontainer.webapp.WebAppServletManager.addServlet&#40;WebAppServletManager.java&#58;870&#41;
      	at com.ibm.ws.webcontainer.webapp.WebAppServletManager.loadServlet&#40;WebAppServletManager.java&#58;224&#41;
      	at com.ibm.ws.webcontainer.webapp.WebAppServletManager.loadAutoLoadServlets&#40;WebAppServletManager.java&#58;542&#41;
      	at com.ibm.ws.webcontainer.webapp.WebApp.loadServletManager&#40;WebApp.java&#58;1277&#41;
      	at com.ibm.ws.webcontainer.webapp.WebApp.init&#40;WebApp.java&#58;283&#41;
      	at com.ibm.ws.webcontainer.srt.WebGroup.loadWebApp&#40;WebGroup.java&#58;387&#41;
      	at com.ibm.ws.webcontainer.srt.WebGroup.init&#40;WebGroup.java&#58;209&#41;
      	at com.ibm.ws.webcontainer.WebContainer.addWebApplication&#40;WebContainer.java&#58;987&#41;
      	at com.ibm.ws.runtime.component.WebContainerImpl.install&#40;WebContainerImpl.java&#58;136&#41;
      	at com.ibm.ws.runtime.component.WebContainerImpl.start&#40;WebContainerImpl.java&#58;356&#41;
      	at com.ibm.ws.runtime.component.ApplicationMgrImpl.start&#40;ApplicationMgrImpl.java&#58;418&#41;
      	at com.ibm.ws.runtime.component.DeployedApplicationImpl.fireDeployedObjectStart&#40;DeployedApplicationImpl.java&#58;787&#41;
      	at com.ibm.ws.runtime.component.DeployedModuleImpl.start&#40;DeployedModuleImpl.java&#58;354&#41;
      	at com.ibm.ws.runtime.component.DeployedApplicationImpl.start&#40;DeployedApplicationImpl.java&#58;575&#41;
      	at com.ibm.ws.runtime.component.ApplicationMgrImpl.startApplication&#40;ApplicationMgrImpl.java&#58;271&#41;
      	at com.ibm.ws.runtime.component.ApplicationMgrImpl.start&#40;ApplicationMgrImpl.java&#58;249&#41;
      	at com.ibm.ws.runtime.component.ContainerImpl.startComponents&#40;ContainerImpl.java&#58;536&#41;
      	at com.ibm.ws.runtime.component.ContainerImpl.start&#40;ContainerImpl.java&#58;413&#41;
      	at com.ibm.ws.runtime.component.ApplicationServerImpl.start&#40;ApplicationServerImpl.java&#58;125&#41;
      	at com.ibm.ws.runtime.component.ContainerImpl.startComponents&#40;ContainerImpl.java&#58;536&#41;
      	at com.ibm.ws.runtime.component.ContainerImpl.start&#40;ContainerImpl.java&#58;413&#41;
      	at com.ibm.ws.runtime.component.ServerImpl.start&#40;ServerImpl.java&#58;183&#41;
      	at com.ibm.ws.runtime.WsServer.start&#40;WsServer.java&#58;128&#41;
      	at com.ibm.ws.runtime.WsServer.main&#40;WsServer.java&#58;225&#41;
      	at sun.reflect.NativeMethodAccessorImpl.invoke0&#40;Native Method&#41;
      	at sun.reflect.NativeMethodAccessorImpl.invoke&#40;NativeMethodAccessorImpl.java&#58;79&#41;
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke&#40;DelegatingMethodAccessorImpl.java&#58;41&#41;
      	at java.lang.reflect.Method.invoke&#40;Method.java&#58;386&#41;
      	at com.ibm.ws.bootstrap.WSLauncher.main&#40;WSLauncher.java&#58;94&#41;
      	at com.ibm.etools.websphere.tools.runner.api.ServerRunnerV5$1.run&#40;ServerRunnerV5.java&#58;97&#41;
      
      &#91;11/2/04 9&#58;06&#58;43&#58;848 EST&#93;  e910e91 WebGroup      E SRVE0020E&#58; &#91;Servlet Error&#93;-&#91;SystemInitializer&#93;&#58; Failed to load servlet&#58; java.lang.ClassCastException&#58; org/omg/stub/java/rmi/_Remote_Stub incompatible with com/llic/usermanager/ejb/UserManagerHome
      	at java.lang.Throwable.<init>&#40;Throwable.java&#41;
      	at java.lang.Throwable.<init>&#40;Throwable.java&#58;73&#41;
      	at java.lang.ClassCastException.<init>&#40;ClassCastException.java&#58;53&#41;
      	at com.llic.usermanager.web.util.UserMgrEJBHelper.getUserManager&#40;UserMgrEJBHelper.java&#41;
      	at com.llic.usermanager.web.SystemInitializer.init&#40;SystemInitializer.java&#58;48&#41;
      	at com.ibm.ws.webcontainer.servlet.StrictServletInstance.doInit&#40;StrictServletInstance.java&#58;82&#41;
      	at com.ibm.ws.webcontainer.servlet.StrictLifecycleServlet._init&#40;StrictLifecycleServlet.java&#58;147&#41;
      	at com.ibm.ws.webcontainer.servlet.PreInitializedServletState.init&#40;StrictLifecycleServlet.java&#58;270&#41;
      	at com.ibm.ws.webcontainer.servlet.StrictLifecycleServlet.init&#40;StrictLifecycleServlet.java&#58;113&#41;
      	at com.ibm.ws.webcontainer.servlet.ServletInstance.init&#40;ServletInstance.java&#58;189&#41;
      	at javax.servlet.GenericServlet.init&#40;GenericServlet.java&#58;258&#41;
      	at com.ibm.ws.webcontainer.webapp.WebAppServletManager.addServlet&#40;WebAppServletManager.java&#58;870&#41;
      	at com.ibm.ws.webcontainer.webapp.WebAppServletManager.loadServlet&#40;WebAppServletManager.java&#58;224&#41;
      	at com.ibm.ws.webcontainer.webapp.WebAppServletManager.loadAutoLoadServlets&#40;WebAppServletManager.java&#58;542&#41;
      	at com.ibm.ws.webcontainer.webapp.WebApp.loadServletManager&#40;WebApp.java&#58;1277&#41;
      	at com.ibm.ws.webcontainer.webapp.WebApp.init&#40;WebApp.java&#58;283&#41;
      	at com.ibm.ws.webcontainer.srt.WebGroup.loadWebApp&#40;WebGroup.java&#58;387&#41;
      	at com.ibm.ws.webcontainer.srt.WebGroup.init&#40;WebGroup.java&#58;209&#41;
      	at com.ibm.ws.webcontainer.WebContainer.addWebApplication&#40;WebContainer.java&#58;987&#41;
      	at com.ibm.ws.runtime.component.WebContainerImpl.install&#40;WebContainerImpl.java&#58;136&#41;
      	at com.ibm.ws.runtime.component.WebContainerImpl.start&#40;WebContainerImpl.java&#58;356&#41;
      	at com.ibm.ws.runtime.component.ApplicationMgrImpl.start&#40;ApplicationMgrImpl.java&#58;418&#41;
      	at com.ibm.ws.runtime.component.DeployedApplicationImpl.fireDeployedObjectStart&#40;DeployedApplicationImpl.java&#58;787&#41;
      	at com.ibm.ws.runtime.component.DeployedModuleImpl.start&#40;DeployedModuleImpl.java&#58;354&#41;
      	at com.ibm.ws.runtime.component.DeployedApplicationImpl.start&#40;DeployedApplicationImpl.java&#58;575&#41;
      	at com.ibm.ws.runtime.component.ApplicationMgrImpl.startApplication&#40;ApplicationMgrImpl.java&#58;271&#41;
      	at com.ibm.ws.runtime.component.ApplicationMgrImpl.start&#40;ApplicationMgrImpl.java&#58;249&#41;
      	at com.ibm.ws.runtime.component.ContainerImpl.startComponents&#40;ContainerImpl.java&#58;536&#41;
      	at com.ibm.ws.runtime.component.ContainerImpl.start&#40;ContainerImpl.java&#58;413&#41;
      	at com.ibm.ws.runtime.component.ApplicationServerImpl.start&#40;ApplicationServerImpl.java&#58;125&#41;
      	at com.ibm.ws.runtime.component.ContainerImpl.startComponents&#40;ContainerImpl.java&#58;536&#41;
      	at com.ibm.ws.runtime.component.ContainerImpl.start&#40;ContainerImpl.java&#58;413&#41;
      	at com.ibm.ws.runtime.component.ServerImpl.start&#40;ServerImpl.java&#58;183&#41;
      	at com.ibm.ws.runtime.WsServer.start&#40;WsServer.java&#58;128&#41;
      	at com.ibm.ws.runtime.WsServer.main&#40;WsServer.java&#58;225&#41;
      	at sun.reflect.NativeMethodAccessorImpl.invoke0&#40;Native Method&#41;
      	at sun.reflect.NativeMethodAccessorImpl.invoke&#40;NativeMethodAccessorImpl.java&#58;79&#41;
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke&#40;DelegatingMethodAccessorImpl.java&#58;41&#41;
      	at java.lang.reflect.Method.invoke&#40;Method.java&#58;386&#41;
      	at com.ibm.ws.bootstrap.WSLauncher.main&#40;WSLauncher.java&#58;94&#41;
      	at com.ibm.etools.websphere.tools.runner.api.ServerRunnerV5$1.run&#40;ServerRunnerV5.java&#58;97&#41;

      I don't see how I could possibly be getting this error, all of the client classes were compiled and updated at the same time as the classes from the server. Does anyone have any ideas?

      Comment


      • #4
        Just one thing I spotted (I'm not sure if it is relevant in your original problem):

        home = (UserManagerHome) ctx.lookup("ejb/UserManagerBean");
        You should not plainly cast the object. Use javax.rmi.PortableRemoteObject#narrow instead.

        Hope that helps,
        Andreas

        Comment


        • #5
          Fixed no no-arg create() method

          Well, the issue was that I didn't generate all of the RMI glue code that is required in WAS for the client side. I despise having to do that, but anyway, I finally have the create called. I invoke the EJB call, which executes method on the EJB, then I get a major minor version error in COBRA. From what I read this is due to the different JVM on the server vs the JVM that WSAD uses. I'm going to try to update my local JVM in the morning and see if that will help. Any more suggestions would be helpful.

          Thanks,
          Todd

          Comment


          • #6
            Fixed it

            Well, after all this hassle, I still can't officially say I know what caused the problem. What I can tell you, is that simply resetting all of the parameters on my WSAD server and Java workspace VM has fixed my issues. I can now connect remotely to our server and invoke the EJB's. If anyone else has experience this issue, simply create a new workspace, and copy your projects into it, this was my workaround.

            Todd

            Comment


            • #7
              Re: Fixed it

              I saw this same issue in the project i'm working on. I jarred up my EJB project and put it in the client side classpath. It fixed this issue.

              Originally posted by tnine
              Well, after all this hassle, I still can't officially say I know what caused the problem. What I can tell you, is that simply resetting all of the parameters on my WSAD server and Java workspace VM has fixed my issues. I can now connect remotely to our server and invoke the EJB's. If anyone else has experience this issue, simply create a new workspace, and copy your projects into it, this was my workaround.

              Todd

              Comment


              • #8
                Hi tnine, I encountered the same problem, the "no no-arg create()" error, when accessing SLSB. You mentioned "didn't generate all of the RMI glue code that is required in WAS for the client side.", can you please tell me what are those "RMI glue code" ?

                Thanks so much.

                Regards,
                Koala Lam

                Comment


                • #9
                  Originally posted by tnine View Post
                  Well, after all this hassle, I still can't officially say I know what caused the problem. What I can tell you, is that simply resetting all of the parameters on my WSAD server and Java workspace VM has fixed my issues. I can now connect remotely to our server and invoke the EJB's. If anyone else has experience this issue, simply create a new workspace, and copy your projects into it, this was my workaround.

                  Todd
                  It's funny but I have the same issue using a stateless EJB 3. I was able to make it work fine with EJB 2.1 (without any EJB client jar) but I'm getting the same dreaded "... no create() method ..." error. I posted quite a few questions on this issue but I wasn't able to get an answer yet as to the correct way to inject stateless EJB 3 beans into a front controller.

                  To isolate myself from the EJBs on the front tier, I created a Java project to just hold the business interfaces. The EJB class implements the needed business interface (in the EJB 2.1 case, the remote interface does NOT extend the business interface, just "EJBObject") and on the front tier I just access the EJB through the business interface. I jar the Java interface project as a dependency to both the "web" project and the "ejb" project because they both depend on that project. Like I said, it worked fine with EJB 2.1 but fails in EJB 3.

                  Comment

                  Working...
                  X