Hello!
I have written a java applet which should talk to a server (written in
C++) using Axis/SOAP.
When I launch the containing HTML page in my webbrowser, I get the
following stack trace in the java console:
java.lang.ExceptionInInitializerError
at
org.apache.commons.discovery.jdk.JDKHooks.<clinit>(JDKHooks.java:75)
at
org.apache.commons.discovery.tools.DiscoverSingleton.find(DiscoverSingleton.java:412)
at
org.apache.commons.discovery.tools.DiscoverSingleton.find(DiscoverSingleton.java:378)
at
org.apache.axis.components.logger.LogFactory$1.run(LogFactory.java:84)
at java.security.AccessController.doPrivileged(Native Method)
at
org.apache.axis.components.logger.LogFactory.getLogFactory(LogFactory.java:80)
at
org.apache.axis.components.logger.LogFactory.<clinit>(LogFactory.java:72)
at
org.apache.axis.handlers.BasicHandler.<clinit>(BasicHandler.java:81)
at org.apache.axis.client.Service.getAxisClient(Service.java:143)
at org.apache.axis.client.Service.<init>(Service.java:152)
at pmBackend_pkg.PmBackendLocator.<init>(PmBackendLocator.java:10)
at Main.init(Main.java:19)
at sun.applet.AppletPanel.run(AppletPanel.java:353)
at java.lang.Thread.run(Thread.java:534)
Caused by: java.security.AccessControlException: access denied
(java.lang.RuntimePermission createClassLoader)
at
java.security.AccessControlContext.checkPermission(AccessControlContext.java:269)
at
java.security.AccessController.checkPermission(AccessController.java:401)
at
java.lang.SecurityManager.checkPermission(SecurityManager.java:524)
at
java.lang.SecurityManager.checkCreateClassLoader(SecurityManager.java:586)
at java.lang.ClassLoader.<init>(ClassLoader.java:210)
at
org.apache.commons.discovery.jdk.PsuedoSystemClassLoader.<init>(PsuedoSystemClassLoader.java:73)
at
org.apache.commons.discovery.jdk.JDK12Hooks.findSystemClassLoader(JDK12Hooks.java:215)
at
org.apache.commons.discovery.jdk.JDK12Hooks.<clinit>(JDK12Hooks.java:73)
... 14 more
I have already found out that creating a file with special permission
and passing the name of this file as an argument to the AppletViewer
helps to prevent this problem when testing the applet. But what if the
applet should really run in a browser?
I first thought that the problem would be solved if the server where the
applet is hosted and the server it tries to talk to (the SOAP server)
were the same. But the problem still remains.
What can I do to get my applet running? Is it necessary that the user
grants some permissions? What exactly does Axis try to do that conflicts
with the permissions?
I didn't find anything about this in the docs. Each hint is appreciated!!
Christian
- java.security.AccessControlException Kareem S. Ghazal
- Re: java.security.AccessControlException Christian Schröder
- Re: java.security.AccessControlException Christian Schröder
- Re: java.security.AccessControlException tony . q . weddle
- Re: java.security.AccessControlExcepti... Christian Schröder
- Re: java.security.AccessControlEx... tony . q . weddle