In my experience, I found that it was necessary to circumvent the sandbox restrictions when using axis from an applet. That means signing the requisite jars ar least. I also set my own security manager for convenience sake.
 
Again, based on my experience, and depending on what one wants and needs to do, axis may be a rather heavy weight solution for web services (or a web services 'like' solution) when used from a client like an applet. The problem is that there doesn't seem to be any real good light weight solutions out there - last I looked. Wingfoot seemed promising. Axis has a lot of dependencies on other Apache libraries. Once you solve the problem below, you will likely run into other similar issues. Axis, and these other libraries, simply weren't designed with a client like an applet in mind. They will do things like try to read from log files that aren't there, try to load clases (which means a server round trip), etc.
 
I am using axis successfully from an applet now in commercial product. However, it was rather a painstaking process.
-----Original Message-----
From: Jay Doggett [mailto:[EMAIL PROTECTED]
Sent: Friday, December 31, 2004 1:41 PM
To: [EMAIL PROTECTED]; [EMAIL PROTECTED]
Subject: Spam:RE: Axis and applets classpath answer and next problem.

 
    Found the answer.
 
    Windows control panel contains a java plugin control panel application. On the advanced tab there is a "Java Runtime Parameter" edit window, which allows one to use any of the standard java command line arguments, like -cp (classpath) for example.
 
    The jre tacks on the specified classpath to the "magic" plugin classpath. 
    http://java.sun.com/j2se/1.4.2/docs/guide/plugin/developer_guide/control_panel.html#advanced
 
    Well that at least solved the problem finding the classes. Now I get this:
java.lang.ExceptionInInitializerError
 
 at org.apache.commons.discovery.log.DiscoveryLogFactory._newLog(DiscoveryLogFactory.java:94)
 
 at org.apache.commons.discovery.log.DiscoveryLogFactory.<clinit>(DiscoveryLogFactory.java:57)
 
 at org.apache.commons.discovery.jdk.JDK12Hooks.<clinit>(JDK12Hooks.java:35)
 
 at org.apache.commons.discovery.jdk.JDKHooks.<clinit>(JDKHooks.java:29)
 
 at org.apache.commons.discovery.tools.DiscoverSingleton.find(DiscoverSingleton.java:366)
 
 at org.apache.commons.discovery.tools.DiscoverSingleton.find(DiscoverSingleton.java:332)
 
 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:104)
 
 at org.apache.axis.client.Service.<init>(Service.java:113)
 
 at test_1.<init>(test_1.java:67)
 
 at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
 
 at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
 
 at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
 
 at java.lang.reflect.Constructor.newInstance(Unknown Source)
 
 at java.lang.Class.newInstance0(Unknown Source)
 
 at java.lang.Class.newInstance(Unknown Source)
 
 at sun.applet.AppletPanel.createApplet(Unknown Source)
 
 at sun.plugin.AppletViewer.createApplet(Unknown Source)
 
 at sun.applet.AppletPanel.runLoader(Unknown Source)
 
 at sun.applet.AppletPanel.run(Unknown Source)
 
 at java.lang.Thread.run(Unknown Source)
 
Caused by: java.security.AccessControlException: access denied (java.util.PropertyPermission org.apache.commons.discovery.log.level read)
 
 at java.security.AccessControlContext.checkPermission(Unknown Source)
 
 at java.security.AccessController.checkPermission(Unknown Source)
 
 at java.lang.SecurityManager.checkPermission(Unknown Source)
 
 at java.lang.SecurityManager.checkPropertyAccess(Unknown Source)
 
 at java.lang.System.getProperty(Unknown Source)
 
 at org.apache.commons.discovery.log.SimpleLog.<clinit>(SimpleLog.java:108)
 
Jay
Your best bet is to hire a vet!
-----Original Message-----
From: Jay Doggett [mailto:[EMAIL PROTECTED]
Sent: Friday, December 31, 2004 1:58 PM
To: [EMAIL PROTECTED]
Subject: Axis and applets

 
    It turns out that the java plugin has its very own magic classpath which may be viewed by way of selecting Tools\java console from the main menu and pressing the 's' key when the console pops.
 
    In my case the value stored under "java.class.path" is C:\PROGRA~1\Java\J2RE14~1.2_0\classes a directory that does not exist on my system. Even after uninstalling and re-installing the jre (now up to 1.4.2_06) this value is not changing. Best thing is I can't find it on my system.
 
    The reason I call it a "magic" classpath is that it has nothing to do with the "real" java.class.path which I have read using a regular java class. And guess what? That particular version of java.class.path contains all the axis jar files. I rather expected this, since the Axis client calls work from the command line.
 
    Has anyone found the IE version of java.class.path or know how to fix it?
 
Jay
Your best bet is to hire a vet!
-----Original Message-----
From: Kamlesh Sangani [mailto:[EMAIL PROTECTED]
Sent: Thursday, December 30, 2004 11:31 PM
To: [EMAIL PROTECTED]
Subject: list unsubscribe


Do you Yahoo!?
Take Yahoo! Mail with you! Get it on your mobile phone.

Reply via email to