Hi,
thanks a lot, now it works. But not completely ....
When I'm trying the following code:
public class TestClient {
public static void main(String[] args) {
Context context;
Properties properties = new Properties();
properties.setProperty(Context.INITIAL_CONTEXT_FACTORY,
"org.apache.openejb.client.RemoteInitialContextFactory");
properties.setProperty(Context.PROVIDER_URL,
"ejbd://localhost:4201");
properties.put("java.naming.security.principal", "system");
properties.put("java.naming.security.credentials", "manager");
try {
context = new InitialContext(properties);
IProjectDSP projectDSP = (IProjectDSP)
context.lookup("ProjectDSPRemote");
// Project p1 = new Project();
// p1.setName("Test");
// projectDSP.createProject(p1);
} catch (NamingException e) {
e.printStackTrace();
throw new RuntimeException(e);
}
}
}
I'm getting this exception:
javax.naming.AuthenticationException: This principle is not authorized.
at
org.apache.openejb.client.JNDIContext.authenticate(JNDIContext.java:150)
at
org.apache.openejb.client.JNDIContext.getInitialContext(JNDIContext.java:122)
at javax.naming.spi.NamingManager.getInitialContext(Unknown Source)
at javax.naming.InitialContext.getDefaultInitCtx(Unknown Source)
at javax.naming.InitialContext.init(Unknown Source)
at javax.naming.InitialContext.<init>(Unknown Source)
at TestClient.main(TestClient.java:24)
Exception in thread "main" java.lang.RuntimeException:
javax.naming.AuthenticationException: This principle is not authorized.
at TestClient.main(TestClient.java:32)
Caused by: javax.naming.AuthenticationException: This principle is not
authorized.
at
org.apache.openejb.client.JNDIContext.authenticate(JNDIContext.java:150)
at
org.apache.openejb.client.JNDIContext.getInitialContext(JNDIContext.java:122)
at javax.naming.spi.NamingManager.getInitialContext(Unknown Source)
at javax.naming.InitialContext.getDefaultInitCtx(Unknown Source)
at javax.naming.InitialContext.init(Unknown Source)
at javax.naming.InitialContext.<init>(Unknown Source)
at TestClient.main(TestClient.java:24)
When I don't use a principal, I'm getting this error:
Exception in thread "main" java.lang.RuntimeException:
javax.naming.NamingException: Cannot lookup '/ProjectDSPRemote'. [Root
exception is java.rmi.RemoteException: Cannot read the response from the
server (OEJP/2.0) : org.apache.openejb.client.EJBMetaDataImpl; local class
incompatible: stream classdesc serialVersionUID = 2128092884552388429, local
class serialVersionUID = -7734383756981201981; nested exception is:
java.io.InvalidClassException:
org.apache.openejb.client.EJBMetaDataImpl;
local class incompatible: stream classdesc serialVersionUID =
2128092884552388429, local class serialVersionUID = -7734383756981201981]
at TestClient.main(TestClient.java:32)
Caused by: javax.naming.NamingException: Cannot lookup '/ProjectDSPRemote'.
[Root exception is java.rmi.RemoteException: Cannot read the response from
the server (OEJP/2.0) : org.apache.openejb.client.EJBMetaDataImpl; local
class incompatible: stream classdesc serialVersionUID = 2128092884552388429,
local class serialVersionUID = -7734383756981201981; nested exception is:
java.io.InvalidClassException:
org.apache.openejb.client.EJBMetaDataImpl;
local class incompatible: stream classdesc serialVersionUID =
2128092884552388429, local class serialVersionUID = -7734383756981201981]
at org.apache.openejb.client.JNDIContext.lookup(JNDIContext.java:203)
at javax.naming.InitialContext.lookup(Unknown Source)
at TestClient.main(TestClient.java:26)
Caused by: java.rmi.RemoteException: Cannot read the response from the
server (OEJP/2.0) : org.apache.openejb.client.EJBMetaDataImpl; local class
incompatible: stream classdesc serialVersionUID = 2128092884552388429, local
class serialVersionUID = -7734383756981201981; nested exception is:
java.io.InvalidClassException:
org.apache.openejb.client.EJBMetaDataImpl;
local class incompatible: stream classdesc serialVersionUID =
2128092884552388429, local class serialVersionUID = -7734383756981201981
at org.apache.openejb.client.Client.processRequest(Client.java:197)
at org.apache.openejb.client.Client.request(Client.java:43)
at org.apache.openejb.client.JNDIContext.request(JNDIContext.java:74)
at org.apache.openejb.client.JNDIContext.lookup(JNDIContext.java:197)
... 2 more
Caused by: java.io.InvalidClassException:
org.apache.openejb.client.EJBMetaDataImpl; local class incompatible: stream
classdesc serialVersionUID = 2128092884552388429, local class
serialVersionUID = -7734383756981201981
at java.io.ObjectStreamClass.initNonProxy(Unknown Source)
at java.io.ObjectInputStream.readNonProxyDesc(Unknown Source)
at java.io.ObjectInputStream.readClassDesc(Unknown Source)
at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
at java.io.ObjectInputStream.readObject0(Unknown Source)
at java.io.ObjectInputStream.readObject(Unknown Source)
at
org.apache.openejb.client.JNDIResponse.readExternal(JNDIResponse.java:64)
at org.apache.openejb.client.Client.processRequest(Client.java:192)
... 5 more
Normaly the system user should work.
Any idea?
Thanks
--
View this message in context:
http://www.nabble.com/Geronimo-2-EJB3-Remote-Access-Example-tp15053984s134p15063643.html
Sent from the Apache Geronimo - Users mailing list archive at Nabble.com.