You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-user@axis.apache.org by "Baker, Jay" <JB...@Viewlocity.com> on 2005/01/01 18:41:22 UTC

RE: Spam:RE: Axis and applets classpath answer and next problem.

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:jmdoggett@comcast.net]
Sent: Friday, December 31, 2004 1:41 PM
To: axis-user@ws.apache.org; jmdoggett@comcast.net
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:jmdoggett@comcast.net]
Sent: Friday, December 31, 2004 1:58 PM
To: axis-user@ws.apache.org
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:xkamlesh@yahoo.com]
Sent: Thursday, December 30, 2004 11:31 PM
To: axis-user@ws.apache.org
Subject: list unsubscribe





  _____  

Do you Yahoo!?
Take  <http://us.rd.yahoo.com/mail_us/taglines/mobile/*http://mobile.yahoo.com/maildemo> Yahoo! Mail with you! Get it on your mobile phone. 




Re: Axis and applets Not SPAM.

Posted by Davanum Srinivas <da...@gmail.com>.
Jay and Jay,

IF you really want to help others....If you see a bug, log a bug
report. If you can, please submit a patch too then it will get fixed
faster. FYI, we are very close to 1.2 Final, so any help in fixing
issues like these is appreciated.

thanks,
dims

On Sat, 1 Jan 2005 13:14:07 -0500, Jay Doggett <jm...@comcast.net> wrote:
>  
> Jay, 
>   
>     Thanks. The architectural decision to use Axis was not mine to make.
> That being said, Axis being a web based client server technology, it should
> have been made to work in an applet -first- IMO. 
>   
>     Having any web app client -required- to download libraries is extremely
> poor design. Everything necessary to run the client should be installable
> and configurable on the client machine for those who want to install their
> software that way. 
>   
>     You are correct regarding the log file issue. BasicHandler creates a
> Factory whether I want one or not. This bug crashes the Applet. I should be
> able to instantiate an Axis client with or without logging.     
>   
>     Like you, last night, in the heat of frustration, I started rebuilding
> the Axis jar to fix this problem, but when I cooled off I decided to let it
> go. 
>   
>     I know that I have sent a lot of messages to the list recently, but they
> are not spam. A.) I needed help. B.) I won't be the last person who runs
> into these problems and hopefully the next person will be able to follow the
> trail. 
>   
> Jay Doggett 
> Your best bet is to hire a vet! 
>  
> -----Original Message-----
> From: Baker, Jay [mailto:JBaker@Viewlocity.com]
> Sent: Saturday, January 01, 2005 12:41 PM
> To: axis-user@ws.apache.org; jmdoggett@comcast.net
> Subject: RE: Spam:RE: Axis and applets classpath answer and next problem.
> 
>  
> 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:jmdoggett@comcast.net]
> Sent: Friday, December 31, 2004 1:41 PM
> To: axis-user@ws.apache.org; jmdoggett@comcast.net
> 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:jmdoggett@comcast.net]
> Sent: Friday, December 31, 2004 1:58 PM
> To: axis-user@ws.apache.org
> 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:xkamlesh@yahoo.com]
> Sent: Thursday, December 30, 2004 11:31 PM
> To: axis-user@ws.apache.org
> Subject: list unsubscribe
> 
>  
> 
>  ________________________________
>  Do you Yahoo!?
> Take Yahoo! Mail with you! Get it on your mobile phone. 
> 
> 
> 
>  


-- 
Davanum Srinivas - http://webservices.apache.org/~dims/

Axis and applets Not SPAM.

Posted by Jay Doggett <jm...@comcast.net>.
Jay,

    Thanks. The architectural decision to use Axis was not mine to make. That being said, Axis being a web based client server
technology, it should have been made to work in an applet -first- IMO.

    Having any web app client -required- to download libraries is extremely poor design. Everything necessary to run the client
should be installable and configurable on the client machine for those who want to install their software that way.

    You are correct regarding the log file issue. BasicHandler creates a Factory whether I want one or not. This bug crashes the
Applet. I should be able to instantiate an Axis client with or without logging.

    Like you, last night, in the heat of frustration, I started rebuilding the Axis jar to fix this problem, but when I cooled off I
decided to let it go.

    I know that I have sent a lot of messages to the list recently, but they are not spam. A.) I needed help. B.) I won't be the
last person who runs into these problems and hopefully the next person will be able to follow the trail.

Jay Doggett
Your best bet is to hire a vet!
  -----Original Message-----
  From: Baker, Jay [mailto:JBaker@Viewlocity.com]
  Sent: Saturday, January 01, 2005 12:41 PM
  To: axis-user@ws.apache.org; jmdoggett@comcast.net
  Subject: RE: Spam:RE: Axis and applets classpath answer and next problem.


  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:jmdoggett@comcast.net]
    Sent: Friday, December 31, 2004 1:41 PM
    To: axis-user@ws.apache.org; jmdoggett@comcast.net
    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:jmdoggett@comcast.net]
      Sent: Friday, December 31, 2004 1:58 PM
      To: axis-user@ws.apache.org
      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:xkamlesh@yahoo.com]
        Sent: Thursday, December 30, 2004 11:31 PM
        To: axis-user@ws.apache.org
        Subject: list unsubscribe




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