Title: RE: using axis within an applet

Hi Erik,

I was able to run Axis in an Applet. Yes, you are right about java.policy needing modifications. I dropped using Axis on the client side even though it was working for other reasons like the combined size of all the jars needed was way way too big. Also it looked like Axis was doing dynamic class loading all the time which combined with the jars was a performance issue.

You are right about the use of SOAP and Applets.

Cheers,
Tony

-----Original Message-----
From: Erik Olof Stenflo [mailto:[EMAIL PROTECTED]]
Sent: Wednesday, March 12, 2003 12:18 PM
To: [EMAIL PROTECTED]
Cc: [EMAIL PROTECTED]
Subject: Re: using axis within an applet


I believe it is currently not yet possible to run axis within
an applet. Please correct me if I'm wrong. (Anyone, please!)

I've had this same problem and I've seen it described by serveral
others, but haven't found a solution yet either. The reason why
axis can't be run within a browser is because it is heavily
reliant on commons-discovery and commons-logging, both which
violate the applet's sandbox restrictions when performing file io.
It seems, to get axis working from within an applet in a browser
would require either changes to the 'security.policy' on the client
side, or hacking the axis or commons code itself. The first option
is usually not an option for applications deployed on the web.

This is really too bad, because it seems SOAP would be the optimal
way for an applet to talk back to the server (that it was loaded
from). Much better than rmi, or jmx for multiple www clients.
Doesn't anyone use axis within an applet to talk back to the server?

same basic problem described elsewhere....
http://forum.java.sun.com/thread.jsp?thread=283838&forum=38&message=1417264
http://www.mail-archive.com/[EMAIL PROTECTED]/msg08165.html

-eRiK


----- Forwarded message from [EMAIL PROTECTED] -----
    Date: Tue, 11 Mar 2003 16:45:52 -0700
    From: [EMAIL PROTECTED]

> greetings! I've written a small app using
> axis and it works great, but... when I run
> it inside an applet, I get the following
> sandbox security violation having to do
> with logging. Any suggestions, what is the
> best way to turn this off?? Thanks!!!
> -Rob (newbie)
>
>
> java.lang.ExceptionInInitializerError
>       at org.apache.commons.discovery.log.DiscoveryLogFactory._newLog(DiscoveryLogFactory.java:142)
>       at org.apache.commons.discovery.log.DiscoveryLogFactory.<clinit>(DiscoveryLogFactory.java:105)
>       at org.apache.commons.discovery.resource.DiscoverResources.<clinit>(DiscoverResources.java:82)
>       at org.apache.commons.discovery.tools.ResourceUtils.getResource(ResourceUtils.java:122)
>       at org.apache.commons.discovery.tools.ResourceUtils.loadProperties(ResourceUtils.java:175)
>       at org.apache.commons.discovery.tools.PropertiesHolder.getProperties(PropertiesHolder.java:102)
>       at org.apache.commons.discovery.tools.DiscoverClass.find(DiscoverClass.java:360)
>       at org.apache.commons.discovery.tools.DiscoverClass.newInstance(DiscoverClass.java:579)
>       at org.apache.commons.discovery.tools.DiscoverSingleton.find(DiscoverSingleton.java:418)
>       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:140)
>       at org.apache.axis.client.Service.<init>(Service.java:149)
>       at mystuff.eai.EAISoapClient.getEAIApp(EAISoapClient.java:77)
>       at mystuff.ui.view.swing.eai.EAIObserver.<init>(EAIObserver.java:120)
>       at mystuff.ui.applet.eai.EAIObserverApplet$EAIObserver2.<init>(EAIObserverApplet.java:113)
>       at mystuff.ui.applet.eai.EAIObserverApplet.init(EAIObserverApplet.java:70)
>       at sun.applet.AppletPanel.run(AppletPanel.java:347)
>       at java.lang.Thread.run(Thread.java:536)

> Caused by: java.security.AccessControlException: access denied (java.util.PropertyPermission org.apache.commons.discovery.log.level read)

>       at java.security.AccessControlContext.checkPermission(AccessControlContext.java:270)
>       at java.security.AccessController.checkPermission(AccessController.java:401)
>       at java.lang.SecurityManager.checkPermission(SecurityManager.java:542)
>       at java.lang.SecurityManager.checkPropertyAccess(SecurityManager.java:1291)
>       at java.lang.System.getProperty(System.java:572)
>       at org.apache.commons.discovery.log.SimpleLog.<clinit>(SimpleLog.java:155)
>



Reply via email to