I have an applet that communicates via RMI to a server that is on the
same machine. When I run this applet using appletviewer, everything
works fine. HOWEVER, when I run this same applet in a browser, I
receive this RMI exception:
error unmarshalling return; nested exception is:
java.lang.ClassNotFoundException: access to class loader denied
java.rmi.UnmarshalException: error unmarshalling return; nested
exception is:
java.lang.ClassNotFoundException: access to class loader denied
at sun.rmi.registry.RegistryImpl_Stub.lookup(Unknown Source)
at java.rmi.Naming.lookup(Unknown Source)
at com.averstar.cpom.display.WOApplet.init(WOApplet.java:76)
at sun.applet.AppletPanel.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.ClassNotFoundException: access to class loader
denied
at sun.rmi.server.LoaderHandler.loadClass(Unknown Source)
at sun.rmi.server.LoaderHandler.loadClass(Unknown Source)
at java.rmi.server.RMIClassLoader$2.loadClass(Unknown Source)
at java.rmi.server.RMIClassLoader.loadClass(Unknown Source)
at sun.rmi.server.MarshalInputStream.resolveClass(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)
... 5 more
Caused by: java.security.AccessControlException: access denied
(java.io.FilePermission
\c:\JRun\servers\default\default-app\WEB-INF\classes\- read)
at java.security.AccessControlContext.checkPermission(Unknown Source)
at java.security.AccessController.checkPermission(Unknown Source)
at java.lang.SecurityManager.checkPermission(Unknown Source)
at sun.rmi.server.LoaderHandler$Loader.checkPermissions(Unknown
Source)
at sun.rmi.server.LoaderHandler$Loader.access$000(Unknown Source)
... 15 more
I thought initially that the security exception had to do with the
fact that the server side classes were associated with JRun, but I
have set the permissions in the JRun policy to ALL Permission. Still
nothing.
This has lead me to believe that maybe the browser is using it's own
policy file which I am unaware of? Remember that the applet WORKS when
using appletviewer. I have also made sure that the classpath in the
appletviewer window does NOT include the JRun directory.
Right now I am using IE to test, but neither browser seems to work
properly.
Has anyone experienced this type of problem before?
brandon-