You would need to sign your applet. A good tutorial on how to do that is available here http://www-personal.umich.edu/~lsiden/tutorials/signed-applet/signed-applet.html Also, make sure to sign openejb-client.jar too. This will get you past the above restriction, however I still could not get it to work (though I got past the security restrictions). I wrote a desktop client and it works fine. Need to dig deeper into it.
On Fri, Feb 13, 2009 at 11:27 AM, mgyh <mgi...@comsys.com> wrote: > > Your suggestions did get me past my initial problem. I guess that I did > not > realize that the applet was running in a separate VM. I don't think that I > completely understand that. I'll do some reading on the side to get a > better grasp of this. > > However, once I made these changes, I get an AccessControlException as > follows: > > java.security.AccessControlException: access denied > (java.util.PropertyPermission /QdbBeanLocal read) > > could you offer suggestions to get past this? QdbBeanLocal is my JNDI name > for my bean, which is located successfully from jsp. I have tried the > following unsuccessfully: > 1) I tried the JNDI name QdbBeanRemote also > 2) I added the following permissions to Tomcat's catalina.policy file > permission org.apache.naming.JndiPermission > "jndi://localhost/QdbBean", "read"; > permission org.apache.naming.JndiPermission > "jndi://localhost/QdbBeanLocal", "read"; > permission org.apache.naming.JndiPermission > "jndi://localhost/QdbBeanRemote", "read"; > 3) restarted Tomcat > > no luck. I am not particularly good at understanding security policy. What > am I missing? > > > > KMalhi wrote: > > > > Hi, > > > > Here is what you would need to do to make it work. Firstly, you would > need > > to add the following jars in the root directory of your webapp -- > > javaee-api.jar and openejb-client.jar (you can copy these from > > <Tomcat-install>/webapps/openejb/lib ). > > Update the Applet code as shown (notice that we are not using > > LocalInitialContextFactory here) > > > > Properties props = new Properties(); > > > > > props.put(Context.INITIAL_CONTEXT_FACTORY,"org.apache.openejb.client.RemoteInitialContextFactory"); > > props.put(Context.PROVIDER_URL, " > > http://127.0.0.1:8080/openejb/ejb"); > > Context ctx = new InitialContext(props); > > Update the HTML as shown -- notice the archive attribute which has the > > comma > > separated list of jars needed by the applet (the version of jars on your > > machine might be different than mine- but that should not matter) > > <applet > > codebase = "." > > code = "qdbapplets.MyApplet.class" > > name = "TestApplet" > > width = "400" > > height = "300" > > hspace = "0" > > vspace = "0" > > align = "top" > > archive="openejb-client-3.1.1-SNAPSHOT.jar,javaee-api-5.0-1.jar" > >> > > </applet> > > > > > > > >> What is the > >> > difference between the successful JSP code and the unsuccessful java > >> > applet? I did add the openejb-core-3.1.jar to my classpath, but this > >> > didn't work. Any ideas? > >> > > JSP is running in the same VM as openejb, hence you can use > > LocalInitialContextFactory. Applet runs in a separate VM, hence it would > > need RemoteInitialContextFactory > > > > In order to get more information, please refer to this page -- > > http://openejb.apache.org/3.0/clients.html > > > > -- > > Karan Singh Malhi > > > > > > -- > View this message in context: > http://www.nabble.com/Cannot-instantiate-class%3A-org.openejb.client.LocalInitialContextFactory-tp21965469p21999832.html > Sent from the OpenEJB User mailing list archive at Nabble.com. > > -- Karan Singh Malhi