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.