users@glassfish.java.net

Error in JNDI look up using web interface

From: <glassfish_at_javadesktop.org>
Date: Fri, 20 Apr 2007 22:52:53 PDT

Steps i have done

- i packaged a stateless EJB "EJB.jar"
EJB.jar
|
-->META-INF
   |-->jndi.properties
   |-->MANIFEST.MF
-->pac //a package contating classes
   |-->Calc.class
   |-->CalcBean.class
   
jndi.properties:-
java.naming.factory.initial=com.sun.enterprise.naming.SerialInitContextFactory
java.naming.factory.url.pkgs=com.sun.enterprise.naming
java.naming.factory.state=com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl
java.naming.provider.url=iiop://localhost:3700

MANIFEST.MF:-
Manifest-Version: 1.0
Ant-Version: Apache Ant 1.6.5
Created-By: 1.5.0_09-b03 (Sun Microsystems Inc.)

Calc.java:-
package pac;
import javax.ejb.Remote;
@Remote
public interface Calc
{
        public String foo();
}

CalcBean.java:-
package pac;
import javax.ejb.Stateless;
import pac.Calc;
@Stateless
public class CalcBean implements Calc
{
        public CalcBean()
        {
        }
        public String foo()
        {
                return "EJB Worked";
        }
}

- i runned glassfish "glassfish-v1_ur1-p01-b02"
- i opened the admin console
- i went through EJB section
- i deployed the "EJB.jar" and it was succesful
- i opend JNDI tab and it was:-

Jndi Entries Root ( server )
|-->UserTransaction

|-->pac.Calc
Name: pac.Calc
Class: javax.naming.Reference

|-->pac.Calc#pac.Calc
Name: pac.Calc
Class:

|-->jdbc
|-->ejb
|-->pac.Calc__3_x_Internal_RemoteBusinessHome__

o - UserTransaction: com.sun.enterprise.distributedtx.UserTransactionImpl
o - pac.Calc: javax.naming.Reference
o - pac.Calc#pac.Calc: javax.naming.Reference
o - jdbc: com.sun.enterprise.naming.TransientContext
o - __SYSTEM: com.sun.enterprise.naming.TransientContext
o - ejb: com.sun.enterprise.naming.TransientContext
o - pac.Calc__3_x_Internal_RemoteBusinessHome__: javax.naming.Reference

- i created a web application and added a servlet
private Calc cal = null;
InitialContext ctx = new InitialContext();
cal = (Calc) ctx.lookup("pac.Calc");
cal.foo();

- when i run the web application it gave me exceptions

WARNING
Logger:
        
javax.enterprise.system.stream.err
Name-Value Pairs:
        
_ThreadID=15;_ThreadName=httpWorkerThread-8080-0;_RequestID=40748430-2c9a-4eef-8731-c46c4bf2f1a3;
Record Number:
        
1489
Message ID:
        
javax.naming.NamingException
Complete Message

ejb ref resolution error for remote business interfacepac.Calc [Root exception is java.lang.ClassNotFoundException: pac.Calc]
        at com.sun.ejb.EJBUtils.lookupRemote30BusinessObject(EJBUtils.java:350)
        at com.sun.ejb.containers.RemoteBusinessObjectFactory.getObjectInstance(RemoteBusinessObjectFactory.java:61)
        at javax.naming.spi.NamingManager.getObjectInstance(NamingManager.java:304)
        at com.sun.enterprise.naming.SerialContext.lookup(SerialContext.java:314)
        at javax.naming.InitialContext.lookup(InitialContext.java:351)
        at servlet.ServletTest.doGet(ServletTest.java:61)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
        at org.apache.catalina.core.ApplicationFilterChain.servletService(ApplicationFilterChain.java:397)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:278)
        at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:566)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:536)
        at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:240)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:179)
        at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:566)
        at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:73)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:182)
        at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:566)
        at com.sun.enterprise.web.VirtualServerPipeline.invoke(VirtualServerPipeline.java:120)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:939)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:137)
        at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:566)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:536)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:939)
        at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:239)
        at com.sun.enterprise.web.connector.grizzly.ProcessorTask.invokeAdapter(ProcessorTask.java:667)
        at com.sun.enterprise.web.connector.grizzly.ProcessorTask.processNonBlocked(ProcessorTask.java:574)
        at com.sun.enterprise.web.connector.grizzly.ProcessorTask.process(ProcessorTask.java:844)
        at com.sun.enterprise.web.connector.grizzly.ReadTask.executeProcessorTask(ReadTask.java:287)
        at com.sun.enterprise.web.connector.grizzly.ReadTask.doTask(ReadTask.java:212)
        at com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:252)
        at com.sun.enterprise.web.connector.grizzly.WorkerThread.run(WorkerThread.java:75)
Caused by: java.lang.ClassNotFoundException: pac.Calc
        at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1511)
        at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1292)
        at com.sun.ejb.EJBUtils.getBusinessIntfClassLoader(EJBUtils.java:568)
        at com.sun.ejb.EJBUtils.lookupRemote30BusinessObject(EJBUtils.java:320)
        ... 31 more
        
        
Error
Timestamp:
        
Apr 21, 2007 07:31:59.234
Log Level:
        
SEVERE
Logger:
        
javax.enterprise.system.container.web
Name-Value Pairs:
        
_ThreadID=15;_ThreadName=httpWorkerThread-8080-0;_RequestID=40748430-2c9a-4eef-8731-c46c4bf2f1a3;
Record Number:
        
1490
Message ID:
        
StandardWrapperValve[ServletTest]
Complete Message

Servlet.service() for servlet ServletTest threw exception
java.lang.NoClassDefFoundError: pac/Calc
        at servlet.ServletTest.doGet(ServletTest.java:67)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
        at org.apache.catalina.core.ApplicationFilterChain.servletService(ApplicationFilterChain.java:397)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:278)
        at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:566)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:536)
        at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:240)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:179)
        at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:566)
        at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:73)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:182)
        at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:566)
        at com.sun.enterprise.web.VirtualServerPipeline.invoke(VirtualServerPipeline.java:120)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:939)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:137)
        at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:566)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:536)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:939)
        at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:239)
        at com.sun.enterprise.web.connector.grizzly.ProcessorTask.invokeAdapter(ProcessorTask.java:667)
        at com.sun.enterprise.web.connector.grizzly.ProcessorTask.processNonBlocked(ProcessorTask.java:574)
        at com.sun.enterprise.web.connector.grizzly.ProcessorTask.process(ProcessorTask.java:844)
        at com.sun.enterprise.web.connector.grizzly.ReadTask.executeProcessorTask(ReadTask.java:287)
        at com.sun.enterprise.web.connector.grizzly.ReadTask.doTask(ReadTask.java:212)
        at com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:252)
        at com.sun.enterprise.web.connector.grizzly.WorkerThread.run(WorkerThread.java:75)



if any help i appreciate it
Thank's in advance
[Message sent by forum member 'bakr_awad' (bakr_awad)]

http://forums.java.net/jive/thread.jspa?messageID=213530