Javax.naming.NoInitialContextException: Need to specify class name...

Hello,
I am trying to use a Database Connection Pool.
Here is the test class am using to verify the connection pool:
public static void main(String[] args) { Connection connection = null; try { InitialContext initialContext = new InitialContext(); DataSource dataSource = (DataSource)initialContext.lookup("jdbc/<alias>"); connection= dataSource.getConnection(); } catch (SQLException e) { //   TODO Auto-generated catch block e.printStackTrace(); } catch (NamingException e) { //   TODO Auto-generated catch block e.printStackTrace(); } Statement stmt = null; try { String query = ""; stmt = connection.createStatement(); ResultSet resultSet = null; query = "SELECT <column> ...'"; resultSet = stmt.executeQuery(query); while(resultSet.next()){ System.out.println(resultSet.getString(<column>)); } stmt.close();   stmt = null; connection.close(); connection = null; } catch (SQLException e1) { // TODO Auto-generated catch block e1.printStackTrace(); }finally{ if (stmt != null) {   try {   stmt.close();   } catch (SQLException sqlex) {   // ignore -- as we can't do anything about it here   }   stmt = null;   }   if (connection != null) {   try { connection.close();   } catch (SQLException sqlex) {   // ignore -- as we can't do anything about it here   } connection = null;   } } }
I get following exception..
javax.naming.NoInitialContextException: Need to specify class name in environment or system property, or as an applet parameter, or in an application resource file:  java.naming.factory.initial at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:640) at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:243) at javax.naming.InitialContext.getURLOrDefaultInitCtx(InitialContext.java:280) at javax.naming.InitialContext.lookup(InitialContext.java:347) at com.internal.test.TestRun.main(TestRun.java:53) java.lang.NullPointerException at com.internal.test.TestRun.main(TestRun.java:66) Exception in thread "main"
The exception points to
DataSource dataSource = (DataSource)initialContext.lookup("jdbc/OrderStatus");
Is this the correct way to test...?
Thanks
Srinivas

java_2006 wrote:
You can't access a jdbc pool like that (simply with a main method).
The Database connection pool must be managed by a container (a servlet or application server) like tomcat.
That is not entirely true but it certainly helps and is generally the only way it is used anyway so one might as well do it.

Similar Messages

  • Javax.naming.NoInitialContextException: Need to specify class name in environment or system property, or as an applet parameter, or in an application resource file:  java.naming.factory.initial

    Hi!
    I got this error message at runtime.
    After adding value to the Intialcontext by adding the following code snippet:
    Properties p = new Properties();
    p.put("java.naming.factory.initial",
    "com.sun.jndi.cosnaming.CNCtxFactory");
    p.put("java.naming.provider.url",
    "iiop://127.0.0.1:9010");
    initContext = new javax.naming.InitialContext(p);
    After this i am getting different error message:
    org.omg.CORBA.COMM_FAILURE:
    minor code: 1 completed: Maybe at om.sun.corba.se.internal.iiop.IIOPConnection.purge_calls(Unknown Source)
    at com.sun.corba.se.internal.iiop.ReaderThread.run(Unknown Source)
    Looking forward a proper solution
    for this problem.
    Thanks in advance.
    Regards,
    James Arun

    I have find the code to specify the naming context property to access another host
    Properties props = new Properties();
    props.setProperty("java.naming.factory.initial",
    "com.sun.enterprise.naming.SerialInitContextFactory");
    props.setProperty("java.naming.factory.url.pkgs",
    "com.sun.enterprise.naming");
    props.setProperty("java.naming.factory.state",
    "com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl");
    // optional. Defaults to localhost. Only needed if web server is running
    // on a different host than the appserver
    props.setProperty("org.omg.CORBA.ORBInitialHost", "localhost");
    // optional. Defaults to 3700. Only needed if target orb port is not 3700.
    props.setProperty("org.omg.CORBA.ORBInitialPort", "3700");

  • Exception in thread "main" javax.naming.NoInitialContextException: Need to

    Hey,
    I am exploring the technique 'JMS'. I found an sample code on the Internet (https://www.redhat.gl/docs/manuals/jboss/jboss-eap-4.2/doc/Server_Configuration_Guide/JMS_Examples-A_Point_To_Point_Example.html).
    But unfortunately, by running the code on my local computer, I got an NoInitialContextException (Exception in thread "main" javax.naming.NoInitialContextException: Need to ...Application resource file: java.naming.factory.initial). After searching on the Internet, I discovered I need to configure some JNDI values. But, also after passing on the variables to the class by parameter (-Djava.naming.factory.initial=com.sun.enterprise.naming.SerialInitContextFactory), I still get the same error.
    What have I forgotten? Hope someone can help. Thanks!
    Tongue78.
    public void setupPTP()
    throws JMSException,
    NamingException
    InitialContext iniCtx = new InitialContext();
    Object tmp = iniCtx.lookup("ConnectionFactory"); // exception occurs here..
    QueueConnectionFactory qcf = (QueueConnectionFactory) tmp;
    conn = qcf.createQueueConnection();
    que = (Queue) iniCtx.lookup("queue/testQueue");
    session = conn.createQueueSession(false,
    QueueSession.AUTO_ACKNOWLEDGE);
    conn.start();
    ....

    Refer to the Sun App Server documentation.
    http://docs.sun.com/source/819-0079/dgacc.htmlIt lists down the steps you need to follow.

  • How to specify class name in environment or system property

    Hi,
    Iam learning ejb. I was practicing the stateless session bean. I wrote a sample hello world application. While executing the client am getting the following error.
    {color:#ff0000}Exception in thread "main" javax.naming.NoInitialContextException: Need to specify class name in environment or system property, or as an applet parameter, or in an application resource file: java.naming.factory.initial
    at javax.naming.spi.NamingManager.getInitialContext(Unknown Source)
    at javax.naming.InitialContext.getDefaultInitCtx(Unknown Source)
    at javax.naming.InitialContext.getURLOrDefaultInitCtx(Unknown Source)
    at javax.naming.InitialContext.lookup(Unknown Source)
    at hw.HelloClient.main(HelloClient.java:20){color}
    My Client program:
    {color:#3366ff}package hw;
    import javax.naming.Context;
    import javax.naming.InitialContext;
    import javax.naming.*;
    import java.util.*;
    public class HelloClient {
    public static void main(String[] args)throws Exception {
    Properties prop = System.getProperties();
    Context ctx= new InitialContext(prop); {color:#800000}// {color}{color:#800000}(Line no :20) here only error is pointing{color}
    Object obj = ctx.lookup("HelloHome");
    HelloHome home = (HelloHome)javax.rmi.PortableRemoteObject.narrow(obj,HelloHome.class);
    Hello hello = home.create();
    System.out.println(hello.hello());
    hello.remove();
    }{color}
    please suggest me a solution.
    note: iam using eclipse ganymede and jboss app server
    Edited by: Arun_ece on Mar 10, 2009 1:13 AM

    Hi,
    You need to create a ejb-jar.xml and jboss.xml files to deploy the application on the servers.
    Also, put these lines of codes after getting System Properties.
    prop.put(Context.PROVIDER_URL, "iiop://localhost:[port_no]");Thanks,
    Srikant

  • How to get rid of  "javax.naming.NoInitialContextException"

    Hi,
    Iam learning ejb. I was practicing the stateless session bean. I wrote a sample hello world application. While executing the client am getting the following error.
    {color:#ff0000}Exception in thread "main" javax.naming.NoInitialContextException: Need to specify class name in environment or system property, or as an applet parameter, or in an application resource file: java.naming.factory.initial
    at javax.naming.spi.NamingManager.getInitialContext(Unknown Source)
    at javax.naming.InitialContext.getDefaultInitCtx(Unknown Source)
    at javax.naming.InitialContext.getURLOrDefaultInitCtx(Unknown Source)
    at javax.naming.InitialContext.lookup(Unknown Source)
    at hw.HelloClient.main(HelloClient.java:20){color}
    My Client program:
    {color:#ff0000}package hw;
    import javax.naming.Context;
    import javax.naming.InitialContext;
    import javax.naming.*;
    import java.util.*;
    public class HelloClient {
    public static void main(String[] args)throws Exception {
    Properties prop = System.getProperties();
    Context ctx= new InitialContext(prop); {color}{color:#ff0000}{color:#800000}// (Line no :20) here only error is pointing
    {color:#ff0000}Object obj = ctx.lookup("HelloHome");
    HelloHome home = (HelloHome)javax.rmi.PortableRemoteObject.narrow(obj,HelloHome.class);
    Hello hello = home.create();
    System.out.println(hello.hello());
    hello.remove();
    }{color}{color}
    {color}
    please suggest me a solution. what has gone wrong!!

    At a guess, I would say you "Need to specify class name in environment or system property, or as an applet parameter, or in an application resource file". But I'm just guessing.

  • Error in EJB client program (javax.naming.NoInitialContextException)

    Hi folks ,
    I'm new to j2ee programming and using Netbeans 5.5 , i created a session bean program and deployed successfully in JOnAS application server but i'm not able to run the client program which invokes session bean (EJB module ).
    when i run client program i'm getting the following error .
    javax.naming.NoInitialContextException: Need to specify class name in environment or system property, or as an applet parameter, or in an application resource file:  java.naming.factory.initial
            at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:645)
            at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:247)
            at javax.naming.InitialContext.getURLOrDefaultInitCtx(InitialContext.java:284)
            at javax.naming.InitialContext.lookup(InitialContext.java:351)
            at SimpleSessionClient.Main.main(Main.java:33)
    BUILD SUCCESSFUL (total time: 21 seconds)
    but the same program runnig perfectly when i deploy in Java System Application Server(8.2(JSAS))
    I included j2ee.jar and appserv-rt jar in classpath of client program for JSAS i don't know what are the jar files (which does the same function as j2ee.ar,appserv-rt.jar ) which is to be included for JOnAS .
    i'm struggling with this for the past two weeks . please tell me the solution .
    Thanks in advance

    Thanks for the suggestion artntek.
    I located the jndi.properties file in the %J2EE_HOME%\lib\classes folder, and I copied it to the %J2EE_HOME%\bin directory, but nothing seems to have changed.
    does anyone know what value should be associated with Context.INITIAL_CONTEXT_FACTORY in the properties for the InitialContext object? More specifically, what value should be used for the reference install of the 1.3 j2ee release from sun?
    This error suggests to me that a class name must be specified for the initial naming context factory - but I don't know what to use.

  • Naming error: javax.naming.NoInitialContextException

    I get the below error message when I try to run the testing class below that. I googled the exception and read:
    This exception is thrown when no initial context implementation can be created. The policy of how an initial context implementation is selected is described in the documentation of the InitialContext class.
    // then I read this: http://publib.boulder.ibm.com/infocenter/adiehelp/index.jsp?topic=/com.sun.api.doc/javax/naming/NoInitialContextException.html
    This exception can be thrown during any interaction with the InitialContext, not only when the InitialContext is constructed. For example, the implementation of the initial context might lazily retrieve the context only when actual methods are invoked on it.
    I really dont understand what I read. Could someone please explain what my issue is and why it is occurring and how I could fix it.
    Thank you in advance,
    Crystal
    Naming error: javax.naming.NoInitialContextException: Need to specify class name
    in environment or system property, or as an applet parameter, or in an applicat
    ion resource file:  java.naming.factory.initial
    Exception in thread "main" java.lang.NullPointerException
            at notifier.notifierMethod.SiteManager(notifierMethod.java:230)
            at notifier.testing.main(testing.java:22)
    testing.java
    class testing {
        public static void main(String[] args) {
            //Display "Hello World!"
            System.out.println("Hello World!");
            notifier notifierInformation = new notifier();
            //session.setAttribute("notifier", notifierInformation);
            //get db connection
            database.DataFactory dbf = database.DataFactory.getDataFactory(database.DataFactory.sybase);
            notifierInterface notifierDB = dbf.getNotifierInterface();
            notifier sitemanager = notifierDB.SiteManager(newID, notifierInformation);  // LINE 22
    notifierMethod
    public notifier SiteManager(String newID, notifier notifierInformation) {
            try {
                ArrayList sitemgrList = new ArrayList();
                this.conn = database.SybaseDAO.grabConnection();
                cs = conn.prepareCall("{call mt."+newID+"_Notifier_SiteManager()}"); // LINE 230
                rs = cs.executeQuery();
                while(rs.next()) {
                    String owner = rs.getString(1);
                        sitemgrList.add(owner);
                notifierInformation.setSitemgrList(sitemgrList);
    }

    Aleen - Thank you for your help but I just dont get what you are saying at all! I am reading through all the links and its just not clicking with me. Is it possible for you to show me a vague example of what you mean?
    What do you mean by system properties/enviroment parameters? Do you mean what is in my web.xml/server.xml, like so?
    public static Connection grabConnection() {
            Connection conn = null;
            try {
                Context ctx = (Context)new InitialContext().lookup("java:comp/env");
                DataSource ds = (DataSource)ctx.lookup("jdbc/connectDB");
                conn = ds.getConnection();
            } catch(SQLException e) { System.err.println("SQL error: " + e);
            } catch(NamingException n) { System.err.println("Naming error: " + n);
            return conn;
    web.xml
    <description>MySQL Test App</description>
    <resource-ref>
          <description>DB Connection</description>
          <res-ref-name>jdbc/connectDB</res-ref-name>
          <res-type>javax.sql.DataSource</res-type>
          <res-auth>Container</res-auth>
    </resource-ref>
    server.xml
    <Context path="/appName" docBase="/appName"
            debug="5" reloadable="true" crossContext="true">
      <Logger className="org.apache.catalina.logger.FileLogger"
                 prefix="localhost_DBPool_log" suffix=".log"
                 timestamp="true"/>
    <Resource name="jdbc/connectDB" auth="Container" type="javax.sql.DataSource"
                   maxActive="5" maxIdle="1" maxWait="10000" removeAbandoned="true"
                removeAbandonedTimeout="60" logAbandoned="true"
                   username="myName" password="myPass" driverClassName="sun.jdbc.odbc.JdbcOdbcDriver"
                   url="jdbc:odbc:webdev"/>
    </Context>I just dont understand why if I have this code in a servlet it works fine but when I try to put it in a java class it doesnt work. And I am sorry in advance, I am not trying to be a pain in the a55 to you.. and I will keep reading
    Thanks - Crystal

  • Javax.naming.NoInitialContextException ERROR

    I get the following error:
    Naming exception Error while connecting to the database : javax.naming.NoInitialContextException: Need to specify class name in environment or system property, or as an applet parameter, or in an application resource file: java.naming.factory.initial
    I created a Java class which has a method which connects to the database using:
    InitialContext ctx = new InitialContext();
    javax.sql.DataSource ds = (javax.sql.DataSource)ctx.lookup("jdbc/TMBLDB01CoreDS");
    m_connection = ds.getConnection();
    It errored out on the second line with the above error. I am using JDeveloper 10.1.3.
    I got it to work with a JDBC connection but prefer to use JNDI with JDBC.
    I started the Oracle AS Containers for J2EE (OC4J) by double clicking start_oc4j.bat.
    What is missing to make this work?

    Yes by adding the following solved that issue.
      env.put(JboContext.DEPLOY_PLATFORM, JboContext.PLATFORM_LOCAL);Another thing is I have added BC4J Client as library to my project. When I run I am getting
    javax.naming.NamingException: oracle.jbo.server.InitialContextImpl [Root exception is java.lang.ClassNotFoundException: oracle.jbo.server.InitialContextImpl]
         at oracle.jbo.common.JboInitialContextFactory.getInitialContext(JboInitialContextFactory.java:65)
         at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:667)
         at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:247)
         at javax.naming.InitialContext.init(InitialContext.java:223)
         at javax.naming.InitialContext.<init>(InitialContext.java:197)Do I need any other libraries?
    Thanks

  • Javax.naming.NoInitialContextException - jndi.properties

    I created an Enterprise application and deployed an Ejb project to the JBoss server.When I try to connect to the JNDI like this:
    Object o = initialContext.lookup(JNDI_NAME); I get this exception:
    javax.naming.NoInitialContextException: Need to specify class name in environment or system property, or as an applet parameter, or in an application resource file:  java.naming.factory.initial
    I put the jndi.properties file both into the client app and the bean project, near the .java files.
    here is the jndi.properties file:
    java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
    java.naming.provider.url=http://localhost:1099
    java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces
    I'm really confused...
    thanks..

    xyzt wrote:
    I put the jndi.properties file both into the client app and the bean project, near the .java files.
    here is the jndi.properties file:
    java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
    java.naming.provider.url=http://localhost:1099
    java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces
    I think that goes in
    ${JBOSS_HOME}/server/default/deploy/jms/jms-ds.xml

  • Javax.naming.NoInitialContextException when invoking an EJB

    Hi,
    I've deployed a stateless session EJB in oc4j and invoking it thru a Java client. I'm using Eclipse. I've a jndi.properties in config folder of my application which is in the classpath of the client code.
    The jndi.properties has :
    java.naming.factory.initial=com.evermind.server.rmi.RMIInitialContextFactory
    java.naming.provider.url=ormi://<localhost>:12401/OC4JEJB
    java.naming.security.principal=oc4jadmin
    java.naming.security.credentials=oc4jadmin
    where OC4JEJB is the application name deployed in oc4j.
    This jndi.properties file is in the classpath.
    My client code is :
    Server server = null; //interface
    ServerHome testSessionBean; //implementation of methods in Server interface
    try {
    Context ctx = new InitialContext();
    Object objref = ctx.lookup("EJBServer"); //JNDI name
    Object obj = PortableRemoteObject.narrow(objref, ServerHome.class);
    testSessionBean = (ServerHome) PortableRemoteObject.narrow(objref,
                             ServerHome.class);
    server = testSessionBean.create();
    } catch (...) {  }
    When i set the properties and do a look up
    Properties env = new Properties();
    env.put(Context.INITIAL_CONTEXT_FACTORY,
              "com.evermind.server.rmi.RMIInitialContextFactory");
    env.put(Context.SECURITY_PRINCIPAL, "oc4jadmin");//oc4jadmin
    env.put(Context.SECURITY_CREDENTIALS, "oc4jadmin");
    env.put(Context.PROVIDER_URL,
         "ormi://<localhost>:12401/OC4JEJB");           
    InitialContext ctx = new InitialContext(env);
    it works perfectly fine.
    But when i use the jndi.properties it gives the following exception.
    javax.naming.NoInitialContextException: Need to specify class name in environment or system property, or as an applet parameter, or in an application resource file: java.naming.factory.initial
         at javax.naming.spi.NamingManager.getInitialContext(Unknown Source)
         at javax.naming.InitialContext.getDefaultInitCtx(Unknown Source)
         at javax.naming.InitialContext.getURLOrDefaultInitCtx(Unknown Source)
         at javax.naming.InitialContext.lookup(Unknown Source)
         at client.ORION_EJB_Util.getServer(ORION_EJB_Util.java:203)
         at client.ORION_EJB_Util.<init>(ORION_EJB_Util.java:90)
         at client.TestClient.main(TestClient.java:26)
    client.exception.EJBUtilException
         at client.ORION_EJB_Util.getServer(ORION_EJB_Util.java:248)
         at client.ORION_EJB_Util.<init>(ORION_EJB_Util.java:90)
         at client.TestClient.main(TestClient.java:26)
    Invoking the server
    Inside getServer method
    Obtained Initial Context javax.naming.InitialContext@422ede
    Exception null
    I've tried placing the jndi.properties in j2ee/home/applib too. Where shud i place this jndi.properties and invoke the EJB?
    Could anyone help resolve this issue?
    Thanks in advance,
    Sprightee

    Try add your jndi.properties to your CLASSPATH.
    See this doc for more details of RMI.
    http://download-east.oracle.com/docs/cd/B31017_01/web.1013/b28958/rmi.htm#i1084792

  • EJB ERR: Namingexception caught:javax.naming.NoInitialContextException

    Hi,
    I am trying to deploy a sample ejb on Jboss and trying to call it from a client.
    I am getting the following error.
    *********Before LookUP*********
    Namingexception caught:javax.naming.NoInitialContextException: Need to specify c
    lass name in environment or system property, or as an applet parameter, or in an
    application resource file: java.naming.factory.initial
    This is my client code for the ejb where I have specified the INITIAL_CONTEXT_FACTORY and PROVIDER_URL..
    Am I missing something here?
    Is there any other way to go about this. Any help would be greatly appreciated.
    Thanks and Regards,
    Ajith
    THE CLIENT CODE IS AS GIVEN BELOW
    package simple_bean_client;
    import javax.ejb.*;
    import simpleBean.*;
    import javax.naming.Context;
    import java.util.Properties;
    import java.util.Hashtable;
    import javax.naming.InitialContext;
    class SalaryClient
         public static void main(String args[])
              Hashtable env = new Hashtable();
              env.put(Context.INITIAL_CONTEXT_FACTORY, "org.jnp.interfaces.NamingContextFactory");
              env.put(Context.PROVIDER_URL, "localhost:1099");
              env.put("java.naming.factory.url.pkgs", "org.jboss.naming:org.jnp.interfaces");
         /*Properties pro = System.getProperties();
         pro.put( "java.naming.factory.initial","org.jnp.interfaces.NamingContextFactory" );
         pro.put( "java.naming.provider.url","localhost:1099" );*/
              try{
                   InitialContext ctx=new InitialContext();
                   System.out.println("*********Before LookUP*********");
                   Object objRef=ctx.lookup("SalaryHome");
                   System.out.println("*********After LookUP*********");
                   SalaryHome home=(SalaryHome)javax.rmi.PortableRemoteObject.narrow(
                   objRef,SalaryHome.class);
                   Salary bean=home.create();
                   System.out.println("monthly net salary:"+bean.calculateSalary(28000,2,500));
              }catch(javax.naming.NamingException ne){
                   System.out.println("Namingexception caught:"+ne);
              }catch(javax.ejb.CreateException ce){
                   System.out.println("Create exeption caught:"+ce);
              }catch(java.rmi.RemoteException re){
                   System.out.println("Remote Exception caught:"+re);               
         }//closing main
    }//closing the class

    Found this . . .
    The following works for JBOSS, jndi.properties -file:
    java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
    java.naming.provider.url=jnp://your.host.com:1099
    The client code is as follows:
    Properties prop = new Properties();
    InputStream is = this.getClass().getClassLoader().getResourceAsStream(jndi_property_file);
    prop.load(is);
    Context ctx = new InitialContext(prop);
    anEJBHome =(EJBHome)PortableRemoteObject.narrow(ctx.lookup(homeClass.getName()),homeClass);

  • Javax.naming.NoInitialContextException: Cannot instantiate class:

    I have written a client for my statleless ejb bean.The bea is deployed on weblogic server.when i am trying to access the bean through client with code
    Hashtable env = new Hashtable();
    env.put(Context.INITIAL_CONTEXT_FACTORY, "weblogic.jndi.WLInitialContextFactory");
    env.put(Context.PROVIDER_URL, "t3://localhost:8001");
    InitialContext ic = new InitialContext(env);
    following Exception is being thrown at runtime
    E:\EJBTest>java example.Client
    Exception in thread "main" javax.naming.NoInitialContextException: Cannot instantiate class: weblogic.jndi.WLInitial
    ContextFactory [Root exception is java.lang.ClassNotFoundException: weblogic.jndi.WLInitialContextFactory]
    at javax.naming.spi.NamingManager.getInitialContext(Unknown Source)
    at javax.naming.InitialContext.getDefaultInitCtx(Unknown Source)
    at javax.naming.InitialContext.init(Unknown Source)
    at javax.naming.InitialContext.<init>(Unknown Source)
    at example.Client.main(Client.java:23)
    Caused by: java.lang.ClassNotFoundException: weblogic.jndi.WLInitialContextFactory
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClassInternal(Unknown Source)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Unknown Source)
    at com.sun.naming.internal.VersionHelper12.loadClass(Unknown Source)
    ... 5 more
    the Same program was woking fine earlier ..
    Unable to locate the problem

    Can anyone help on this ..
    Thanks in advance..

  • Javax.naming.NoInitialContextException: Cannot instantiate

    IHi,
    Iam trying to run my first application on WEBLOGIC SERVER 8.1. I have already deploed class file on server.i have already set path for my client jar .
    When I use my client run on JDK to access the application.
    I got following errror::::
    Naming Error: catch block of getInitalContext()
    javax.naming.NoInitialContextException: Cannot instantiate
    class: weblogic.jndi.WLInitialContextFactory [Root exception is
    java.lang.ClassNotFoundException:
    weblogic.jndi.WLInitialContextFactory]
    from catch block of jMenuItem1
    error from NamingException.getMessage()is: Cannot instantiate
    class: weblogic.jndi.WLInitialContextFactory
    HERE IS THE CODE FOR CLIENT:
    import java.awt.event.*;
    import javax.rmi.*;
    import java.rmi.*;
    import javax.swing.event.*;
    import javax.swing.*;
    import javax.naming.Context;
    import javax.naming.InitialContext;
    import javax.rmi.PortableRemoteObject;
    import java.util.Hashtable;
    import java.util.Properties;
    import javax.ejb.CreateException;
    import org.omg.CosNaming.*;
    import java.util.Hashtable;
    import weblogic.jndi.*;
    //import javax.weblogic.jndi.WLInitialContext;
    public class Client {
    public static void main(String[] args){
              Context context= null;
              Hashtable h = new Hashtable();
              h.put(Context.INITIAL_CONTEXT_FACTORY, "weblogic.jndi.WLInitialContextFactory");
              h.put(Context.PROVIDER_URL,"t3://localhost:7001");
              try{
                   context = new InitialContext(h);
                        Object obj = context.lookup("ServerObject"); //Server ejb-name
    System.out.println(obj.getClass());
              ServerHome serverhome =(ServerHome) javax.rmi.PortableRemoteObject.narrow(context.lookup("ServerObject"),ServerHome.class);
              Server server = serverhome.create();
              String Message = JOptionPane.showInputDialog("Enter Your Message");
              JOptionPane.showMessageDialog(null, server.performAction(Message) );
         catch(Exception e){
              JOptionPane.showMessageDialog(null ,"Exception is " +e);
    code for bean:::::::
    //package EJBExample;
    import javax.ejb.*;
    import java.rmi.*;
    import javax.swing.*;
    public class ServerBean implements SessionBean
    private SessionContext stx;
    //In following five methods create is by contract others to be implemented by Container
    public void ejbCreate(){}
    public void ejbRemove(){}
    public void ejbActivate(){}
    public void ejbPassivate(){}
    public void setSessionContext(SessionContext ctx)

    hi
    Am facing the problem whenever i run the client jsp definitly run the first time but next time i get the particular error please let me clear about this error i m attaching the client code and also error screen..
    client jsp
    <%UserInfoSB objUserInfoSB;
         System.out.println("########## 2 #########");
         Properties props= System.getProperties();
         System.out.println("########## 3 #########");
         Context ctx = new InitialContext(props);
         System.out.println("########## 4 #########");
         props.put(Context.INITIAL_CONTEXT_FACTORY, "Weblogic.jndi.WlInitialContextFactory");
         props.put(Context.PROVIDER_URL,"t3://localhost:7001");
         System.out.println("########## 5 #########");
         UserInfoSBHome objUserInfoSBHome =(UserInfoSBHome) ctx.lookup("UserInfoSBHome");
         System.out.println("########## 6 #########");
         objUserInfoSB = objUserInfoSBHome.create();
         System.out.println("########## 7 #########");
         //objUserInfoSB.processInterfaceUserHistoryDetails(objUserDetailVO);
    ArrayList alResult = objUserInfoSB.processInterfaceGetAllUserDetail();
         objUserInfoSB.remove();
         System.out.println("########## 8 #########");
    %>
    It is error which i am facing plz let me clear
    NoInitialContextException: Cannot instantiate class: Weblogic.jndi.WlInitialContextFactory. Root exception is java.lang.ClassNotFoundException: Weblogic.jndi.WlInitialContextFactory
         at weblogic.utils.classloaders.GenericClassLoader.findClass(GenericClassLoader.java:186)
         at weblogic.utils.classloaders.ChangeAwareClassLoader.findClass(ChangeAwareClassLoader.java:62)
         at java.lang.ClassLoader.loadClass(ClassLoader.java:299)
         at java.lang.ClassLoader.loadClass(ClassLoader.java:255)
         at weblogic.utils.classloaders.ChangeAwareClassLoader.loadClass(ChangeAwareClassLoader.java:41)
         at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:315)
         at java.lang.Class.forName0(Native Method)
         at java.lang.Class.forName(Class.java:217)
         at com.sun.naming.internal.VersionHelper12.loadClass(VersionHelper12.java:42)
         at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:649)
         at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:243)
         at javax.naming.InitialContext.init(InitialContext.java:219)
         at javax.naming.InitialContext.(InitialContext.java:195)
         at jsp_servlet._jsp._epfindia._mydata.__userdisplayall._jspService(__userdisplayall.java:374)
         at weblogic.servlet.jsp.JspBase.service(JspBase.java:33)
         at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:1053)
         at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:387)
         at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:305)
         at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:6291)
         at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:317)
         at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:97)
         at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3575)
         at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2573)
         at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:178)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:151)

  • URGENT - javax.naming.NameNotFoundException No object bound to name

    I'm working on a stateless EJB (JobDtlEJB) which calls another stateless EJB (FuncVSREJB). During runtime, the following message appear in application log:
    [20/Feb/2006:00:16:56] INFO ( 2088): CORE3282: stdout: EJBGetter:getFuncVSRHome-to lookup[java:comp/env/ejb/funcvsr]
    [20/Feb/2006:00:16:56] INFO ( 2088): CORE3282: stdout: [2006/02/21 00:16] {-VoiceSROut}
    [20/Feb/2006:00:16:56] INFO ( 2088): CORE3282: stdout: JobDtlEJB exception FuncVSR:javax.naming.NameNotFoundException: No object bound to name java:comp/env/ejb/funcvsr
    Would appreciate if anyone kind help!!!
    Below is my portion of codes in JobDtlEJB:
    import com.util.EJBGetter;
    public class JobDtlEJB implements javax.ejb.SessionBean {
    private transient javax.ejb.SessionContext m_ctx = null;
    private FuncVSRHome myfuncvsrHome;
    private FuncVSR myfuncvsrRemote;
    public void ejbCreate() throws javax.ejb.CreateException {
    System.out.println("ejbCreate() on obj " + this);
    public String getConnect(String InjobID) {
    try
    myfuncvsrHome = EJBGetter.getFuncVSRHome("java:comp/env/ejb/funcvsr");
    myfuncvsrRemote = myfuncvsrHome.create();
    } catch(Exception ee) {
    cFunction.NonIMErrLog("-VoiceSROut", "JobDtlEJB exception FuncVSR:"+ee.toString(), true);
    ee.printStackTrace();
    Coding inside EJBGetter:
    package com.util;
    import javax.rmi.PortableRemoteObject;
    import javax.naming.InitialContext;
    import javax.naming.NamingException;
    import com.ejb.*;
    public final class EJBGetter {
    public static FuncVSRHome getFuncVSRHome(String jndiName) throws NamingException
    InitialContext initial = new InitialContext();
    System.out.println("EJBGetter:getFuncVSRHome-to lookup["+jndiName+"]");
    Object objref = initial.lookup( jndiName );
    System.out.println("EJBGetter:getFuncVSRHome-narrow["+jndiName+"]");
    FuncVSRHome ejb2Home = ( FuncVSRHome ) PortableRemoteObject.narrow( objref, FuncVSRHome.class );
    System.out.println("EJBGetter:getFuncVSRHome-returning EJB Home for ["+jndiName+"]");
    return ejb2Home;
    } // EJBGetter
    Below is my ejb-jar.xml:
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE ejb-jar PUBLIC '-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 2.0//EN' 'http://java.sun.com/dtd/ejb-jar_2_0.dtd'>
    <ejb-jar>
    <enterprise-beans>
    <session>
    <display-name>TheFuncVSR</display-name>
    <ejb-name>TheFuncVSR</ejb-name>
    <home>com.ejb.FuncVSRHome</home>
    <remote>com.ejb.FuncVSR</remote>
    <ejb-class>com.ejb.FuncVSREJB</ejb-class>
    <session-type>Stateless</session-type>
    <transaction-type>Bean</transaction-type>
    </session>
    <session>
    <display-name>TheJobDtl</display-name>
    <ejb-name>TheJobDtl</ejb-name>
    <home>com.ejb.JobDtlHome</home>
    <remote>com.ejb.JobDtl</remote>
    <ejb-class>com.ejb.JobDtlEJB</ejb-class>
    <session-type>Stateless</session-type>
    <transaction-type>Bean</transaction-type>
    </session>
    </enterprise-beans>
    </ejb-jar>
    THe following is my sun-ejb-jar.xml:
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE sun-ejb-jar PUBLIC '-//Sun Microsystems, Inc.//DTD Sun ONE Application Server 7.0 EJB 2.0//EN' 'http://www.sun.com/software/sunone/appserver/dtds/sun-ejb-jar_2_0-0.dtd'>
    <!-- Copyright 2002 Sun Microsystems, Inc. All rights reserved. -->
    <sun-ejb-jar>
    <enterprise-beans>
    <unique-id>1</unique-id>
    <ejb>
    <ejb-name>TheJobDtl</ejb-name>
    <jndi-name>jobdtl</jndi-name>
    </ejb>
    <ejb>
    <ejb-name>TheFuncVSR</ejb-name>
    <jndi-name>funcvsr</jndi-name>
    </ejb>
    </enterprise-beans>
    </sun-ejb-jar>
    The web.xml file content:
    <ejb-ref>
    <ejb-ref-name>ejb/jobdtl</ejb-ref-name>
    <ejb-ref-type>Session</ejb-ref-type>
    <home>com.ejb.JobDtlHome</home>
    <remote>com.ejb.JobDtl</remote>
    <ejb-link>TheJobDtl</ejb-link>
    </ejb-ref>
    <ejb-ref>
    <ejb-ref-name>ejb/funcvsr</ejb-ref-name>
    <ejb-ref-type>Session</ejb-ref-type>
    <home>com.ejb.FuncVSRHome</home>
    <remote>com.ejb.FuncVSR</remote>
    <ejb-link>TheFuncVSR</ejb-link>
    </ejb-ref>
    </web-app>

    I've solved this issue in ejb-jar.xml. This is because of <ejb-ref-name> in ejb-jar.xml is unmatched with that in web.xml
    <ejb-ref-name>ejb/funcvsr</ejb-ref-name>
    Jsut sharing to you all. :)

  • Jndi.properties - javax.naming.NoInitialContextException

    hi
    i'm new to netbeans (5.5) and the Sun 9 appserver. I've been using JBoss & Eclipse to date.
    I'm getting the javax.naming.NoInitialContextException and I believe it's because I'm not using jndi.properties like in jboss.
    The problem is that I cannot seem to find where it should go and what it should look like.
    Can someone please help ?
    Thanks

    All the documentation you need is here:
    http://docs.sun.com/app/docs/coll/1343.3
    I would particularly point you to http://docs.sun.com/app/docs/doc/819-3659/6n5s6m5bn?a=view

Maybe you are looking for

  • SP-18 , IDOC adapter

    I'm on SP 18.. I'm having only 2 check boxes .. 1) Queue Processing 2) Apply Control Record Values from Payload I'm not having the other 2 options... : " Take Sender From Payload, Take Receiver From Payload. what could be the problem. Thanks sagar

  • Accounts payable splitting

    Hi To all! I'm encountering an error the payable account for vendor does not split... though i have assigned different cost center for my two expenses... what do you think is the error or did i miss something in my config???

  • Adding a panel to an open GUI with a background image

    Dear java programmers, I want to add a JPanel with some components on an open(visible) GUI whenever a button is clicked. That JPanel carries a button, a progress bar, a label, and a textarea inside a scrollpane. Whenever the button of the panel is cl

  • Need help combining a Layout and Graphics

    Okay, I've been working on this for a long time now, and I'm getting close...but not quite. I want to have a JApplet where I can use Graphics methods, as well as JButton, etc. However, if I set my applet to use a certain type of Layout (setLayout), i

  • IWeb is supposed to be as is as they say is it? i tried this....

    i build up a webpage that i like and i'm plublishing it to my .mac account because i have a gig worth of space there to do things but for some strange reason everything works fine except the name of my site is not exactly what i wrote there what i wa