[jira] Created: (WSIF-70) Axis Client crashes the applet unless new permissions are added to the policy file (or a custom security manager is used)

"Luis Rivera (JIRA)" <[email protected]> Tue, 12 Jul 2005 20:44:09 +0200 (CEST)
Newsgroups gmane.comp.apache.webservices.wsif.devel
Message-ID <[email protected]>
Axis Client crashes the applet unless new permissions are added to the policy file (or a custom security manager is used)
-------------------------------------------------------------------------------------------------------------------------

         Key: WSIF-70
         URL: http://issues.apache.org/jira/browse/WSIF-70
     Project: Axis-WSIF
        Type: Bug
  Components: Basic Architecture  
    Versions: current (nightly)    
 Environment: WindowsXP, Sun jdk1.5.0_03 (running client inside an applet), Axis 1.2.1, commons-logging-1.0.4, commons-httpclient-3.0-rc3, using ant 1.6.5 and a laptop IBM Thinkpad R51
    Reporter: Luis Rivera
    Priority: Blocker



To solve the following kind of exceptions, 

***********************************************************************************************************
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:45)
        at java.security.AccessController.doPrivileged(Native Method)
        at org.apache.axis.components.logger.LogFactory.getLogFactory(LogFactory.java:41)
        at org.apache.axis.components.logger.LogFactory.<clinit>(LogFactory.java:33)
        at org.apache.axis.handlers.BasicHandler.<clinit>(BasicHandler.java:43)
        at org.apache.axis.client.Service.getAxisClient(Service.java:103)
        at org.apache.axis.client.Service.<init>(Service.java:112)
        at vcas.gui.wsdl.VCASLocator.<init>(Unknown Source)
        at vcas.gui.vss.VSSApplet.init(Unknown Source)
        at sun.applet.AppletPanel.run(AppletPanel.java:374)
        at java.lang.Thread.run(Thread.java:595)
Caused by: java.security.AccessControlException: access denied (java.lang.RuntimePermission createClassLoader)
        at java.security.AccessControlContext.checkPermission(AccessControlContext.java:264)
        at java.security.AccessController.checkPermission(AccessController.java:427)
        at java.lang.SecurityManager.checkPermission(SecurityManager.java:532)
        at java.lang.SecurityManager.checkCreateClassLoader(SecurityManager.java:594)
        at java.lang.ClassLoader.<init>(ClassLoader.java:225)
        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 had to add the following permissions to a custom policy file.

********************************************************************************************************************************

	permission java.lang.RuntimePermission	"createClassLoader";
	permission java.lang.RuntimePermission	"getClassLoader";
	permission java.util.PropertyPermission	"org.apache.commons.discovery.log.level", "read";
	permission java.util.PropertyPermission	"axis.EngineConfigFactory","read";
	permission java.util.PropertyPermission	"org.apache.axis.EngineConfigurationFactory","read";
	permission java.util.PropertyPermission	"axis.ClientConfigFile","read";
	permission java.util.PropertyPermission	"axis.ServerConfigFile","read";
	permission java.util.PropertyPermission	"axis.xml.reuseParsers","read";
	permission java.util.PropertyPermission	"axis.attachments.implementation","read";

********************************************************************************************************************************

So, I see that part of the problem is appache commons logger and other libraries trying to read and write to files, including the commons logger used by axis. I wanted to know if there is a simple way to prevent this or if I there exist a version of the Axis library without these issues, so it can happily work inside the sandbox with the default permissions, I would be happy to try it.

       Thanks in advance,
       --Luis R.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira