Hi all,
I have a slight problem, I try to create a reference Stateless SessionBean but
for some reason each time my client tries to access the Bean after looking it
up on JNDI I end up getting the following exception:
| Exception in thread "main" java.lang.NoClassDefFoundError:
[Lorg/jboss/aop/advice/Interceptor;
| at java.lang.Class.getDeclaredFields0(Native Method)
| at java.lang.Class.privateGetDeclaredFields(Class.java:2232)
| at java.lang.Class.getDeclaredField(Class.java:1852)
| at
java.io.ObjectStreamClass.getDeclaredSUID(ObjectStreamClass.java:1555)
| at java.io.ObjectStreamClass.access$600(ObjectStreamClass.java:47)
| at java.io.ObjectStreamClass$2.run(ObjectStreamClass.java:381)
| at java.security.AccessController.doPrivileged(Native Method)
| at java.io.ObjectStreamClass.<init>(ObjectStreamClass.java:373)
| at java.io.ObjectStreamClass.lookup(ObjectStreamClass.java:268)
| at java.io.ObjectStreamClass.initNonProxy(ObjectStreamClass.java:504)
| at
java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1546)
| at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1460)
| at
java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1546)
| at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1460)
| at
java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1546)
| at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1460)
| at
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1693)
| at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1299)
| at
java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1912)
| at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1836)
| at
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1713)
| at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1299)
| at java.io.ObjectInputStream.readObject(ObjectInputStream.java:339)
| at java.rmi.MarshalledObject.get(MarshalledObject.java:135)
| at
org.jnp.interfaces.MarshalledValuePair.get(MarshalledValuePair.java:72)
| at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:652)
| at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:587)
| at javax.naming.InitialContext.lookup(InitialContext.java:351)
| at com.kimbasoft.reference.ejb.client.MyClient.main(MyClient.java:28)
| at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
| at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
| at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
| at java.lang.reflect.Method.invoke(Method.java:585)
| at com.intellij.rt.execution.application.AppMain.main(AppMain.java:90)
|
Here is my source:
Remote Interface:
| package com.kimbasoft.reference.ejb.session;
|
| public interface TestRemote {
|
| public String sayHelloRemote();
|
| }
|
Local Interface:
| package com.kimbasoft.reference.ejb.session;
|
| public interface TestLocal {
|
| public String sayHelloLocal();
|
| }
|
Bean Implementation:
| package com.kimbasoft.reference.ejb.session;
|
| import javax.ejb.Remote;
| import javax.ejb.Stateless;
| import javax.ejb.Local;
|
| @Stateless
| @Local({TestLocal.class })
| @Remote({TestRemote.class})
| public class TestBean implements TestRemote {
|
| public String sayHelloRemote() {
| return "Hello Remote World!!!";
| }
|
| public String sayHelloLocal() {
| return "Hello Local World!!!";
| }
|
| }
|
Client Implementation:
| package com.kimbasoft.reference.ejb.client;
|
| import com.kimbasoft.reference.ejb.session.TestRemote;
|
| import javax.naming.Context;
| import javax.naming.InitialContext;
| import javax.naming.NamingException;
|
| public class MyClient {
|
|
| public static void main(String[] args) {
|
| Context ctx;
|
| try {
| ctx = new InitialContext();
| TestRemote obj = (TestRemote) ctx.lookup("TestBean/remote");
| System.out.println(">>" + obj.sayHelloRemote());
| } catch (NamingException e) {
| System.out.println("ERROR");
| e.printStackTrace();
| }
|
| }
| }
|
First I compile everything and package it into a JAR file. Then I deploy it on
JBoss. After deploying I check the JNDI content and can see my TestBean and
it's remote and local interface. Now I start the client (I have the client JARs
of JBoss in the path) on my local pc out of a local copy of the JAR file I
deployed on the server and then I get the above mentioned exception. Can
anybody help me and tell me what I'm doing wrong???
Thanks,
Kimba
Configuration:
JBoss 4.0.4 GA
jboss-EJB-3.0_RC8-FD
JDK 1.5.0
View the original post :
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3949696#3949696
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3949696
_______________________________________________
JBoss-user mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/jboss-user