ejb@glassfish.java.net

Problem with EJB FAQ: "How do I access a Remote EJB (3.0 or 2.x) from a non-Java EE web container like Tomcat or Resin?"

From: <Jason.Huang_at_Sun.COM>
Date: Wed, 01 Nov 2006 14:58:44 +0800

Hi, all

I saw a faq in this page
https://glassfish.dev.java.net/javaee5/ejb/EJB_FAQ.html about "How do I
access a Remote EJB (3.0 or 2.x) from a non-Java EE web container like
Tomcat or Resin?"

In the step 3, it says


      Step 3. Add the necessary appserver code to the web server's
      classpath.

See step 3 of stand-alone client access
<https://glassfish.dev.java.net/javaee5/ejb/EJB_FAQ.html#Step_3._Include_appserv-rt.jar_and>
for the list of required .jars.

What does it meas by "web server's classpath", I copied the
appserv-rt.jar and javaee.jar to the %Tomcat_Home%/server/lib, however,
then the tomcat cannot start up with the following error:
------------------------------------------------------
javax.naming.NamingException: Cannot create resource instance
    at
org.apache.naming.factory.ResourceFactory.getObjectInstance(ResourceFactory.java:142)
    at
javax.naming.spi.NamingManager.getObjectInstance(NamingManager.java:304)
    at org.apache.naming.NamingContext.lookup(NamingContext.java:792)
    at org.apache.naming.NamingContext.lookup(NamingContext.java:152)
    at
org.apache.catalina.realm.UserDatabaseRealm.start(UserDatabaseRealm.java:266)
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1087)
    at
org.apache.catalina.core.StandardEngine.start(StandardEngine.java:520)
    at
org.apache.catalina.core.StandardService.start(StandardService.java:502)
    at
org.apache.catalina.core.StandardServer.start(StandardServer.java:2304)
    at org.apache.catalina.startup.Catalina.start(Catalina.java:558)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:585)
    at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:294)
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:432)
UserDatabaseRealm[Catalina]: PWC2101: Exception looking up UserDatabase
under key UserDatabase
javax.naming.NamingException: Cannot create resource instance
    at
org.apache.naming.factory.ResourceFactory.getObjectInstance(ResourceFactory.java:142)
    at
javax.naming.spi.NamingManager.getObjectInstance(NamingManager.java:304)
    at org.apache.naming.NamingContext.lookup(NamingContext.java:792)
    at org.apache.naming.NamingContext.lookup(NamingContext.java:152)
    at
org.apache.catalina.realm.UserDatabaseRealm.start(UserDatabaseRealm.java:266)
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1087)
    at
org.apache.catalina.core.StandardEngine.start(StandardEngine.java:520)
    at
org.apache.catalina.core.StandardService.start(StandardService.java:502)
    at
org.apache.catalina.core.StandardServer.start(StandardServer.java:2304)
    at org.apache.catalina.startup.Catalina.start(Catalina.java:558)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:585)
    at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:294)
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:432)

------------------------------------------------------

Could anyone provide some hints on this problem? Thanks in advance.

Best Regards,
--Jason