PDA

View Full Version : EJB home [null] has no no-arg create() method. It's there


tnine
Nov 1st, 2004, 01:30 PM
I recieve this error when binding to a remote stateless EJB.

[11/1/04 13:25:44:114 EST] e910e91 DefaultListab I org.springframework.beans.factory.support.DefaultL istableBeanFactory Pre-instantiating singletons in factory [org.springframework.beans.factory.support.Default ListableBeanFactory defining beans [UserManager]; Root of BeanFactory hierarchy]
[11/1/04 13:25:44:114 EST] e910e91 DefaultListab I org.springframework.beans.factory.support.DefaultL istableBeanFactory 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:000000000000003e524d493a636f6d2e6c6c696 32e757365726d616e616765722e656a622e557365724d616e6 1676572486f6d653a303030303030303030303030303030300 0000000000001000000000000039c000102000000001164657 6776173312e6c6c69632e636f6d00000dd6000000b94a4d424 9000000124760d558653938623437363064353538393864350 00000240000009549454a5002000d1093aa0c446f634672616 d65776f726b03454a4200000076acac0002000100290000005 f5f686f6d654f66486f6d6573235f5f686f6d654f66486f6d6 573235f5f686f6d654f66486f6d6573084a617661205573657 2204d616e61676d656e742073797374656d23757365726d616 e61676572656a622e6a617223656a622f557365724d616e616 765724265616e0000000000000b00000001000000140000000 00501000100000000000101000000000049424d0a000000080 00000011420000100000026000000020002000049424d04000 0000500050101020000000000001f000000040000000300000 020000000040000000100000021000001d8000100000000000 400020000000000240000001e0000002600020000000000010 000000c3139322e3136382e322e36000dd8004000000000000 0000806062b1200021e02000000230401000806062b1200021 e02000000136d69636b65792e6c6c69632e636f6d3a3338390 00000000000000000000000000000000000420000000000240 000001e0000006600420000000000010000000c3139322e313 6382e322e36000dd90040000000000000000806062b1200021 e02000000230401000806062b1200021e02000000136d69636 b65792e6c6c69632e636f6d3a3338390000000000000000000 00000000000000000020000000000240000001e00000026000 20000000000010000000c3139322e3136382e322e36000dd80 04000000000000000080606678102010101000000230401000 80606678102010101000000136d69636b65792e6c6c69632e6 36f6d3a3338390000000000000000000000000000000000004 20000000000240000001e00000066004200000000000100000 00c3139322e3136382e322e36000dd90040000000000000000 80606678102010101000000230401000806066781020101010 00000136d69636b65792e6c6c69632e636f6d3a33383900000 00000000000000000000000000000000000140000000800000 07e407e0dd749424d060000002800000000196d69636b65792 e6c6c69632e636f6d3a3338392f7761736164312e312e31202 000407e000003090000002800000000196d69636b65792e6c6 c69632e636f6d3a3338392f7761736164312e312e312020004 07e000000250000000400000003]
[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>(Throwable.java)
at java.lang.Throwable.<init>(Throwable.java:73)
at javax.servlet.ServletException.<init>(ServletException.java:161)
at com.ibm.ws.webcontainer.servlet.StrictServletInsta nce.doInit(StrictServletInstance.java:99)
at com.ibm.ws.webcontainer.servlet.StrictLifecycleSer vlet._init(StrictLifecycleServlet.java:147)
at com.ibm.ws.webcontainer.servlet.PreInitializedServ letState.init(StrictLifecycleServlet.java:270)
at com.ibm.ws.webcontainer.servlet.StrictLifecycleSer vlet.init(StrictLifecycleServlet.java:113)
at com.ibm.ws.webcontainer.servlet.ServletInstance.in it(ServletInstance.java:189)
at javax.servlet.GenericServlet.init(GenericServlet.j ava:258)
at com.ibm.ws.webcontainer.webapp.WebAppServletManage r.addServlet(WebAppServletManager.java:870)
at com.ibm.ws.webcontainer.webapp.WebAppServletManage r.loadServlet(WebAppServletManager.java:224)
at com.ibm.ws.webcontainer.webapp.WebAppServletManage r.loadAutoLoadServlets(WebAppServletManager.java:5 42)
at com.ibm.ws.webcontainer.webapp.WebApp.loadServletM anager(WebApp.java:1277)
at com.ibm.ws.webcontainer.webapp.WebApp.init(WebApp. java:283)
at com.ibm.ws.webcontainer.srt.WebGroup.loadWebApp(We bGroup.java:387)
at com.ibm.ws.webcontainer.srt.WebGroup.init(WebGroup .java:209)
at com.ibm.ws.webcontainer.WebContainer.addWebApplica tion(WebContainer.java:987)
at com.ibm.ws.runtime.component.WebContainerImpl.inst all(WebContainerImpl.java:136)
at com.ibm.ws.runtime.component.WebContainerImpl.star t(WebContainerImpl.java:356)
at com.ibm.ws.runtime.component.ApplicationMgrImpl.st art(ApplicationMgrImpl.java:418)
at com.ibm.ws.runtime.component.DeployedApplicationIm pl.fireDeployedObjectStart(DeployedApplicationImpl .java:787)
at com.ibm.ws.runtime.component.DeployedModuleImpl.st art(DeployedModuleImpl.java:354)
at com.ibm.ws.runtime.component.DeployedApplicationIm pl.start(DeployedApplicationImpl.java:575)
at com.ibm.ws.runtime.component.ApplicationMgrImpl.st artApplication(ApplicationMgrImpl.java:271)
at com.ibm.ws.runtime.component.ApplicationMgrImpl.st art(ApplicationMgrImpl.java:249)
at com.ibm.ws.runtime.component.ContainerImpl.startCo mponents(ContainerImpl.java:536)
at com.ibm.ws.runtime.component.ContainerImpl.start(C ontainerImpl.java:413)
at com.ibm.ws.runtime.component.ApplicationServerImpl .start(ApplicationServerImpl.java:125)
at com.ibm.ws.runtime.component.ContainerImpl.startCo mponents(ContainerImpl.java:536)
at com.ibm.ws.runtime.component.ContainerImpl.start(C ontainerImpl.java:413)
at com.ibm.ws.runtime.component.ServerImpl.start(Serv erImpl.java:183)
at com.ibm.ws.runtime.WsServer.start(WsServer.java:12 8)
at com.ibm.ws.runtime.WsServer.main(WsServer.java:225 )
at sun.reflect.NativeMethodAccessorImpl.invoke0(Nativ e Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Native MethodAccessorImpl.java:79)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(De legatingMethodAccessorImpl.java:41)
at java.lang.reflect.Method.invoke(Method.java:386)
at com.ibm.ws.bootstrap.WSLauncher.main(WSLauncher.ja va:94)
at com.ibm.etools.websphere.tools.runner.api.ServerRu nnerV5$1.run(ServerRunnerV5.java:97)
---- Begin backtrace for Nested Throwables
org.springframework.beans.factory.BeanCreationExce ption: 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
EJB home [null] has no no-arg create() method
[11/1/04 13:25:49:427 EST] e910e91 WebGroup E SRVE0020E: [Servlet Error]-[SystemInitializer]: Failed to load servlet: org.springframework.beans.factory.BeanCreationExce ption: 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
EJB home [null] has no no-arg create() method
[11/1/04 13:25:49:443 EST] e910e91 TraceNLS u No message text associated with key Error.creating.bean.with.name.'UserManager'.define d.in.class.path.resource.[usermanagerejbcontext.xm l]:.Initialization.of.bean.failed;.nested.exceptio n.is.org.aopalliance.aop.AspectException:.EJB.home .[null].has.no.no-arg.create().method in bundle com.ibm.ejs.resources.seriousMessages
[11/1/04 13:25:49:443 EST] e910e91 WebAppServlet E 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
[11/1/04 13:25:49:521 EST] e910e91 WebGroup I SRVE0180I: [User Manager Web Interface] [/usermanager] [Servlet.LOG]: action: init
[11/1/04 13:25:50:568 EST] 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.

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

public static final String ENABLED = "Y";
public static final String DISABLED = "N";

..methods here...

}



And the two client classes.


/*
* 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
{
public UserManagerRemote create() throws CreateException, RemoteException;
}



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

}

Rod Johnson
Nov 2nd, 2004, 04:11 AM
Can you invoke the EJB without Spring? Just to check whether the problem is some change in your server config.

tnine
Nov 2nd, 2004, 09:13 AM
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



public UserManager getUserManager()
{
//return (UserManager) getBean("UserManager");

Hashtable env = new Hashtable();

env.put(
"java.naming.factory.initial",
"com.ibm.websphere.naming.WsnInitialContextFactory");
env.put("java.naming.provider.url", "iiop://devwas1.llic.com:2813");

Context ctx = null;

try
{
ctx = new InitialContext(env);
}
catch (NamingException e2)
{
e2.getMessage();
}

UserManagerHome home = null;
try
{

home = (UserManagerHome) ctx.lookup("ejb/UserManagerBean");
}
catch (NamingException e2)
{
e2.getMessage();
}

UserManager manager = null;

try
{
manager = home.create();
}
catch (RemoteException e1)
{
e1.getMessage();
}
catch (CreateException e1)
{
e1.getMessage();
}

return manager;
}



Exception

[11/2/04 9:06:43:707 EST] e910e91 ServletInstan E SRVE0100E: Did not realize init() exception thrown by servlet SystemInitializer: javax.servlet.ServletException: org/omg/stub/java/rmi/_Remote_Stub incompatible with com/llic/usermanager/ejb/UserManagerHome
at java.lang.Throwable.<init>(Throwable.java)
at java.lang.Throwable.<init>(Throwable.java:73)
at javax.servlet.ServletException.<init>(ServletException.java:161)
at com.ibm.ws.webcontainer.servlet.StrictServletInsta nce.doInit(StrictServletInstance.java:99)
at com.ibm.ws.webcontainer.servlet.StrictLifecycleSer vlet._init(StrictLifecycleServlet.java:147)
at com.ibm.ws.webcontainer.servlet.PreInitializedServ letState.init(StrictLifecycleServlet.java:270)
at com.ibm.ws.webcontainer.servlet.StrictLifecycleSer vlet.init(StrictLifecycleServlet.java:113)
at com.ibm.ws.webcontainer.servlet.ServletInstance.in it(ServletInstance.java:189)
at javax.servlet.GenericServlet.init(GenericServlet.j ava:258)
at com.ibm.ws.webcontainer.webapp.WebAppServletManage r.addServlet(WebAppServletManager.java:870)
at com.ibm.ws.webcontainer.webapp.WebAppServletManage r.loadServlet(WebAppServletManager.java:224)
at com.ibm.ws.webcontainer.webapp.WebAppServletManage r.loadAutoLoadServlets(WebAppServletManager.java:5 42)
at com.ibm.ws.webcontainer.webapp.WebApp.loadServletM anager(WebApp.java:1277)
at com.ibm.ws.webcontainer.webapp.WebApp.init(WebApp. java:283)
at com.ibm.ws.webcontainer.srt.WebGroup.loadWebApp(We bGroup.java:387)
at com.ibm.ws.webcontainer.srt.WebGroup.init(WebGroup .java:209)
at com.ibm.ws.webcontainer.WebContainer.addWebApplica tion(WebContainer.java:987)
at com.ibm.ws.runtime.component.WebContainerImpl.inst all(WebContainerImpl.java:136)
at com.ibm.ws.runtime.component.WebContainerImpl.star t(WebContainerImpl.java:356)
at com.ibm.ws.runtime.component.ApplicationMgrImpl.st art(ApplicationMgrImpl.java:418)
at com.ibm.ws.runtime.component.DeployedApplicationIm pl.fireDeployedObjectStart(DeployedApplicationImpl .java:787)
at com.ibm.ws.runtime.component.DeployedModuleImpl.st art(DeployedModuleImpl.java:354)
at com.ibm.ws.runtime.component.DeployedApplicationIm pl.start(DeployedApplicationImpl.java:575)
at com.ibm.ws.runtime.component.ApplicationMgrImpl.st artApplication(ApplicationMgrImpl.java:271)
at com.ibm.ws.runtime.component.ApplicationMgrImpl.st art(ApplicationMgrImpl.java:249)
at com.ibm.ws.runtime.component.ContainerImpl.startCo mponents(ContainerImpl.java:536)
at com.ibm.ws.runtime.component.ContainerImpl.start(C ontainerImpl.java:413)
at com.ibm.ws.runtime.component.ApplicationServerImpl .start(ApplicationServerImpl.java:125)
at com.ibm.ws.runtime.component.ContainerImpl.startCo mponents(ContainerImpl.java:536)
at com.ibm.ws.runtime.component.ContainerImpl.start(C ontainerImpl.java:413)
at com.ibm.ws.runtime.component.ServerImpl.start(Serv erImpl.java:183)
at com.ibm.ws.runtime.WsServer.start(WsServer.java:12 8)
at com.ibm.ws.runtime.WsServer.main(WsServer.java:225 )
at sun.reflect.NativeMethodAccessorImpl.invoke0(Nativ e Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Native MethodAccessorImpl.java:79)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(De legatingMethodAccessorImpl.java:41)
at java.lang.reflect.Method.invoke(Method.java:386)
at com.ibm.ws.bootstrap.WSLauncher.main(WSLauncher.ja va:94)
at com.ibm.etools.websphere.tools.runner.api.ServerRu nnerV5$1.run(ServerRunnerV5.java:97)
---- Begin backtrace for Nested Throwables
java.lang.ClassCastException: org/omg/stub/java/rmi/_Remote_Stub incompatible with com/llic/usermanager/ejb/UserManagerHome
at java.lang.Throwable.<init>(Throwable.java)
at java.lang.Throwable.<init>(Throwable.java:73)
at java.lang.ClassCastException.<init>(ClassCastException.java:53)
at com.llic.usermanager.web.util.UserMgrEJBHelper.get UserManager(UserMgrEJBHelper.java)
at com.llic.usermanager.web.SystemInitializer.init(Sy stemInitializer.java:48)
at com.ibm.ws.webcontainer.servlet.StrictServletInsta nce.doInit(StrictServletInstance.java:82)
at com.ibm.ws.webcontainer.servlet.StrictLifecycleSer vlet._init(StrictLifecycleServlet.java:147)
at com.ibm.ws.webcontainer.servlet.PreInitializedServ letState.init(StrictLifecycleServlet.java:270)
at com.ibm.ws.webcontainer.servlet.StrictLifecycleSer vlet.init(StrictLifecycleServlet.java:113)
at com.ibm.ws.webcontainer.servlet.ServletInstance.in it(ServletInstance.java:189)
at javax.servlet.GenericServlet.init(GenericServlet.j ava:258)
at com.ibm.ws.webcontainer.webapp.WebAppServletManage r.addServlet(WebAppServletManager.java:870)
at com.ibm.ws.webcontainer.webapp.WebAppServletManage r.loadServlet(WebAppServletManager.java:224)
at com.ibm.ws.webcontainer.webapp.WebAppServletManage r.loadAutoLoadServlets(WebAppServletManager.java:5 42)
at com.ibm.ws.webcontainer.webapp.WebApp.loadServletM anager(WebApp.java:1277)
at com.ibm.ws.webcontainer.webapp.WebApp.init(WebApp. java:283)
at com.ibm.ws.webcontainer.srt.WebGroup.loadWebApp(We bGroup.java:387)
at com.ibm.ws.webcontainer.srt.WebGroup.init(WebGroup .java:209)
at com.ibm.ws.webcontainer.WebContainer.addWebApplica tion(WebContainer.java:987)
at com.ibm.ws.runtime.component.WebContainerImpl.inst all(WebContainerImpl.java:136)
at com.ibm.ws.runtime.component.WebContainerImpl.star t(WebContainerImpl.java:356)
at com.ibm.ws.runtime.component.ApplicationMgrImpl.st art(ApplicationMgrImpl.java:418)
at com.ibm.ws.runtime.component.DeployedApplicationIm pl.fireDeployedObjectStart(DeployedApplicationImpl .java:787)
at com.ibm.ws.runtime.component.DeployedModuleImpl.st art(DeployedModuleImpl.java:354)
at com.ibm.ws.runtime.component.DeployedApplicationIm pl.start(DeployedApplicationImpl.java:575)
at com.ibm.ws.runtime.component.ApplicationMgrImpl.st artApplication(ApplicationMgrImpl.java:271)
at com.ibm.ws.runtime.component.ApplicationMgrImpl.st art(ApplicationMgrImpl.java:249)
at com.ibm.ws.runtime.component.ContainerImpl.startCo mponents(ContainerImpl.java:536)
at com.ibm.ws.runtime.component.ContainerImpl.start(C ontainerImpl.java:413)
at com.ibm.ws.runtime.component.ApplicationServerImpl .start(ApplicationServerImpl.java:125)
at com.ibm.ws.runtime.component.ContainerImpl.startCo mponents(ContainerImpl.java:536)
at com.ibm.ws.runtime.component.ContainerImpl.start(C ontainerImpl.java:413)
at com.ibm.ws.runtime.component.ServerImpl.start(Serv erImpl.java:183)
at com.ibm.ws.runtime.WsServer.start(WsServer.java:12 8)
at com.ibm.ws.runtime.WsServer.main(WsServer.java:225 )
at sun.reflect.NativeMethodAccessorImpl.invoke0(Nativ e Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Native MethodAccessorImpl.java:79)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(De legatingMethodAccessorImpl.java:41)
at java.lang.reflect.Method.invoke(Method.java:386)
at com.ibm.ws.bootstrap.WSLauncher.main(WSLauncher.ja va:94)
at com.ibm.etools.websphere.tools.runner.api.ServerRu nnerV5$1.run(ServerRunnerV5.java:97)

[11/2/04 9:06:43:848 EST] e910e91 WebGroup E SRVE0020E: [Servlet Error]-[SystemInitializer]: Failed to load servlet: java.lang.ClassCastException: org/omg/stub/java/rmi/_Remote_Stub incompatible with com/llic/usermanager/ejb/UserManagerHome
at java.lang.Throwable.<init>(Throwable.java)
at java.lang.Throwable.<init>(Throwable.java:73)
at java.lang.ClassCastException.<init>(ClassCastException.java:53)
at com.llic.usermanager.web.util.UserMgrEJBHelper.get UserManager(UserMgrEJBHelper.java)
at com.llic.usermanager.web.SystemInitializer.init(Sy stemInitializer.java:48)
at com.ibm.ws.webcontainer.servlet.StrictServletInsta nce.doInit(StrictServletInstance.java:82)
at com.ibm.ws.webcontainer.servlet.StrictLifecycleSer vlet._init(StrictLifecycleServlet.java:147)
at com.ibm.ws.webcontainer.servlet.PreInitializedServ letState.init(StrictLifecycleServlet.java:270)
at com.ibm.ws.webcontainer.servlet.StrictLifecycleSer vlet.init(StrictLifecycleServlet.java:113)
at com.ibm.ws.webcontainer.servlet.ServletInstance.in it(ServletInstance.java:189)
at javax.servlet.GenericServlet.init(GenericServlet.j ava:258)
at com.ibm.ws.webcontainer.webapp.WebAppServletManage r.addServlet(WebAppServletManager.java:870)
at com.ibm.ws.webcontainer.webapp.WebAppServletManage r.loadServlet(WebAppServletManager.java:224)
at com.ibm.ws.webcontainer.webapp.WebAppServletManage r.loadAutoLoadServlets(WebAppServletManager.java:5 42)
at com.ibm.ws.webcontainer.webapp.WebApp.loadServletM anager(WebApp.java:1277)
at com.ibm.ws.webcontainer.webapp.WebApp.init(WebApp. java:283)
at com.ibm.ws.webcontainer.srt.WebGroup.loadWebApp(We bGroup.java:387)
at com.ibm.ws.webcontainer.srt.WebGroup.init(WebGroup .java:209)
at com.ibm.ws.webcontainer.WebContainer.addWebApplica tion(WebContainer.java:987)
at com.ibm.ws.runtime.component.WebContainerImpl.inst all(WebContainerImpl.java:136)
at com.ibm.ws.runtime.component.WebContainerImpl.star t(WebContainerImpl.java:356)
at com.ibm.ws.runtime.component.ApplicationMgrImpl.st art(ApplicationMgrImpl.java:418)
at com.ibm.ws.runtime.component.DeployedApplicationIm pl.fireDeployedObjectStart(DeployedApplicationImpl .java:787)
at com.ibm.ws.runtime.component.DeployedModuleImpl.st art(DeployedModuleImpl.java:354)
at com.ibm.ws.runtime.component.DeployedApplicationIm pl.start(DeployedApplicationImpl.java:575)
at com.ibm.ws.runtime.component.ApplicationMgrImpl.st artApplication(ApplicationMgrImpl.java:271)
at com.ibm.ws.runtime.component.ApplicationMgrImpl.st art(ApplicationMgrImpl.java:249)
at com.ibm.ws.runtime.component.ContainerImpl.startCo mponents(ContainerImpl.java:536)
at com.ibm.ws.runtime.component.ContainerImpl.start(C ontainerImpl.java:413)
at com.ibm.ws.runtime.component.ApplicationServerImpl .start(ApplicationServerImpl.java:125)
at com.ibm.ws.runtime.component.ContainerImpl.startCo mponents(ContainerImpl.java:536)
at com.ibm.ws.runtime.component.ContainerImpl.start(C ontainerImpl.java:413)
at com.ibm.ws.runtime.component.ServerImpl.start(Serv erImpl.java:183)
at com.ibm.ws.runtime.WsServer.start(WsServer.java:12 8)
at com.ibm.ws.runtime.WsServer.main(WsServer.java:225 )
at sun.reflect.NativeMethodAccessorImpl.invoke0(Nativ e Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Native MethodAccessorImpl.java:79)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(De legatingMethodAccessorImpl.java:41)
at java.lang.reflect.Method.invoke(Method.java:386)
at com.ibm.ws.bootstrap.WSLauncher.main(WSLauncher.ja va:94)
at com.ibm.etools.websphere.tools.runner.api.ServerRu nnerV5$1.run(ServerRunnerV5.java:97)



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?

Andreas Senft
Nov 3rd, 2004, 02:19 AM
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

tnine
Nov 3rd, 2004, 05:51 PM
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

tnine
Nov 4th, 2004, 01:03 PM
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

sureshk
May 19th, 2005, 12:25 PM
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.

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

koalalam
Aug 12th, 2007, 11:53 PM
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

tirzaman
Aug 13th, 2007, 01:00 PM
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.