[EJB 3.0] - Re: Errors When Passing A Generic Object To A Stateless Sess
by yetti
ALR,
Thanks for replying on a Saturday. As I said in my second post in this thread, I went super generic using basic Java Objects and still got burps:
javax.naming.NamingException: Could not dereference object [Root exception is java.lang.RuntimeException: Could not find InvokerLocator URL at JNDI address "FTPBean/local"; looking up local Proxy from Remote JVM?]
| at org.jnp.interfaces.NamingContext.getObjectInstanceWrapFailure(NamingContext.java:1472)
| at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:818)
| at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:682)
| at javax.naming.InitialContext.lookup(Unknown Source)
| at com.acmeco.serverapp.ftpDoer.client.HelloClientPOJO.<init>(HelloClientPOJO.java:20)
| at com.acmeco.serverapp.ftpDoer.client.HelloClientPOJO.main(HelloClientPOJO.java:48)
| Caused by: java.lang.RuntimeException: Could not find InvokerLocator URL at JNDI address "FTPBean/local"; looking up local Proxy from Remote JVM?
| at org.jboss.ejb3.proxy.objectfactory.ProxyObjectFactory.createProxyFactoryProxy(ProxyObjectFactory.java:185)
| at org.jboss.ejb3.proxy.objectfactory.ProxyObjectFactory.getObjectInstance(ProxyObjectFactory.java:146)
| at javax.naming.spi.NamingManager.getObjectInstance(Unknown Source)
| at org.jnp.interfaces.NamingContext.getObjectInstance(NamingContext.java:1447)
| at org.jnp.interfaces.NamingContext.getObjectInstanceWrapFailure(NamingContext.java:1464)
| ... 5 more
| Exception in thread "main" java.lang.NullPointerException
| at com.acmeco.serverapp.ftpDoer.client.HelloClientPOJO.doWork(HelloClientPOJO.java:43)
| at com.acmeco.serverapp.ftpDoer.client.HelloClientPOJO.main(HelloClientPOJO.java:49)
|
View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4225007#4225007
Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=4225007
17 years
[EJB 3.0] - Errors When Passing A Generic Object To A Stateless Session
by yetti
Hello, I'm a n00b learning EJB3 and have a simple question. I have a stateless session bean that I'm using to learn. It's an FTP bean -> you send it hostname, user, pass, etc and it will FTP stuff to the site. The bean explodes to JBoss 5 just fine, and runs perfect, if I hard code some FTP instructions within the bean itself.
Now that I got that working, my next step is I want to be able to pass an object to the bean from a caller POJO app that is essentially a list of FTP actions to be performed. The bean would receive this object, cast it into the my object type, and then loop over the list of files, sending each one to the FTP site. Easy enough and a good app for training wheels.
The problem is, originally I tried sending the specific object type to the bean directly ie ftpBean.doWork(String host, String username, String password, ListOfFTPItems ftpFilePackage). That threw a bunch of interceptor errors.
Next I tried making a more generic argument list -> ftpBean.doWork(String host, String username, String password, Object ftpFilePackage), and then casting the Object into a ListOfFTPItems inside the bean. I thought since it was a generic object, I should be able to go back and forth just fine without having to touch anything else. What am I missing?
A couple of the guys were great at answering a question I had earlier this week about JNDI lookup. I promised I would write a great tutorial that is completely step by step and I am. Helping me will help out all the other newcomers!
PS -> My plan is to make this bean into an MDB so that I can run it asynchronously, but I want to get the object passing figured out first before attempting to turn it into an MDB.
Thanks in advance.
Error message:
Exception in thread "main" java.lang.RuntimeException: java.lang.ClassNotFoundException: com.acmeco.serverapp.test.fileStuff.FilePackage (no security manager: RMI class loader disabled)
| at org.jboss.aop.joinpoint.MethodInvocation.getArguments(MethodInvocation.java:318)
| at org.jboss.ejb3.stateless.StatelessContainer.dynamicInvoke(StatelessContainer.java:481)
| at org.jboss.ejb3.session.InvokableContextClassProxyHack._dynamicInvoke(InvokableContextClassProxyHack.java:53)
| at org.jboss.aop.Dispatcher.invoke(Dispatcher.java:91)
| at org.jboss.aspects.remoting.AOPRemotingInvocationHandler.invoke(AOPRemotingInvocationHandler.java:82)
| at org.jboss.remoting.ServerInvoker.invoke(ServerInvoker.java:908)
| at org.jboss.remoting.transport.socket.ServerThread.completeInvocation(ServerThread.java:742)
| at org.jboss.remoting.transport.socket.ServerThread.processInvocation(ServerThread.java:695)
| at org.jboss.remoting.transport.socket.ServerThread.dorun(ServerThread.java:522)
| at org.jboss.remoting.transport.socket.ServerThread.run(ServerThread.java:230)
| Caused by: java.lang.ClassNotFoundException: com.acmeco.serverapp.test.fileStuff.FilePackage (no security manager: RMI class loader disabled)
| at sun.rmi.server.LoaderHandler.loadClass(LoaderHandler.java:375)
| at sun.rmi.server.LoaderHandler.loadClass(LoaderHandler.java:165)
| at java.rmi.server.RMIClassLoader$2.loadClass(RMIClassLoader.java:620)
| at org.jboss.system.JBossRMIClassLoader.loadClass(JBossRMIClassLoader.java:91)
| at java.rmi.server.RMIClassLoader.loadClass(RMIClassLoader.java:247)
| at sun.rmi.server.MarshalInputStream.resolveClass(MarshalInputStream.java:197)
| at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1575)
| at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1496)
| at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1732)
| at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
| at java.io.ObjectInputStream.readArray(ObjectInputStream.java:1667)
| at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1323)
| at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
| at java.rmi.MarshalledObject.get(MarshalledObject.java:142)
| at org.jboss.aop.joinpoint.MethodInvocation.getArguments(MethodInvocation.java:309)
| at org.jboss.ejb3.stateless.StatelessContainer.dynamicInvoke(StatelessContainer.java:481)
| at org.jboss.ejb3.session.InvokableContextClassProxyHack._dynamicInvoke(InvokableContextClassProxyHack.java:53)
| at org.jboss.aop.Dispatcher.invoke(Dispatcher.java:91)
| at org.jboss.aspects.remoting.AOPRemotingInvocationHandler.invoke(AOPRemotingInvocationHandler.java:82)
| at org.jboss.remoting.ServerInvoker.invoke(ServerInvoker.java:908)
| at org.jboss.remoting.transport.socket.ServerThread.completeInvocation(ServerThread.java:742)
| at org.jboss.remoting.transport.socket.ServerThread.processInvocation(ServerThread.java:695)
| at org.jboss.remoting.transport.socket.ServerThread.dorun(ServerThread.java:522)
| at org.jboss.remoting.transport.socket.ServerThread.run(ServerThread.java:230)
| at org.jboss.remoting.MicroRemoteClientInvoker.invoke(MicroRemoteClientInvoker.java:206)
| at org.jboss.remoting.Client.invoke(Client.java:1708)
| at org.jboss.remoting.Client.invoke(Client.java:612)
| at org.jboss.aspects.remoting.InvokeRemoteInterceptor.invoke(InvokeRemoteInterceptor.java:60)
| at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
| at org.jboss.aspects.tx.ClientTxPropagationInterceptor.invoke(ClientTxPropagationInterceptor.java:61)
| at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
| at org.jboss.ejb3.security.client.SecurityClientInterceptor.invoke(SecurityClientInterceptor.java:65)
| at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
| at org.jboss.ejb3.remoting.IsLocalInterceptor.invoke(IsLocalInterceptor.java:74)
| at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
| at org.jboss.aspects.remoting.PojiProxy.invoke(PojiProxy.java:62)
| at $Proxy3.invoke(Unknown Source)
| at org.jboss.ejb3.proxy.handler.ProxyInvocationHandlerBase.invoke(ProxyInvocationHandlerBase.java:261)
| at org.jboss.ejb3.proxy.handler.session.SessionSpecProxyInvocationHandlerBase.invoke(SessionSpecProxyInvocationHandlerBase.java:101)
| at $Proxy2.doWork(Unknown Source)
| at com.acmeco.serverapp.ftpDoer.client.HelloClientPOJO.doWork(HelloClientPOJO.java:41)
| at com.acmeco.serverapp.ftpDoer.client.HelloClientPOJO.main(HelloClientPOJO.java:47)
| at org.jboss.aspects.remoting.InvokeRemoteInterceptor.invoke(InvokeRemoteInterceptor.java:72)
| at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
| at org.jboss.aspects.tx.ClientTxPropagationInterceptor.invoke(ClientTxPropagationInterceptor.java:61)
| at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
| at org.jboss.ejb3.security.client.SecurityClientInterceptor.invoke(SecurityClientInterceptor.java:65)
| at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
| at org.jboss.ejb3.remoting.IsLocalInterceptor.invoke(IsLocalInterceptor.java:74)
| at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
| at org.jboss.aspects.remoting.PojiProxy.invoke(PojiProxy.java:62)
| at $Proxy3.invoke(Unknown Source)
| at org.jboss.ejb3.proxy.handler.ProxyInvocationHandlerBase.invoke(ProxyInvocationHandlerBase.java:261)
| at org.jboss.ejb3.proxy.handler.session.SessionSpecProxyInvocationHandlerBase.invoke(SessionSpecProxyInvocationHandlerBase.java:101)
| at $Proxy2.doWork(Unknown Source)
| at com.acmeco.serverapp.ftpDoer.client.HelloClientPOJO.doWork(HelloClientPOJO.java:41)
| at com.acmeco.serverapp.ftpDoer.client.HelloClientPOJO.main(HelloClientPOJO.java:47)
|
View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4225003#4225003
Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=4225003
17 years