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

Reply via email to