• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Jeanne Boyarsky
  • Ron McLeod
  • Paul Clapham
  • Liutauras Vilda
Sheriffs:
  • paul wheaton
  • Rob Spoor
  • Devaka Cooray
Saloon Keepers:
  • Stephan van Hulst
  • Tim Holloway
  • Carey Brown
  • Frits Walraven
  • Tim Moores
Bartenders:
  • Mikalai Zaikin

Help to solve NoInitialContextException

 
Greenhorn
Posts: 4
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hi friends
I have devloped a ejb program in netbeans, the details of the program are listed below...
//*******************************************************************************
This is my ejb-jar.xml file
//********************************************************************************
<?xml version="1.0" encoding="UTF-8"?>
<ejb-jar version="2.1" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/ejb-jar_2_1.xsd">
<display-name>EJBModule1</display-name>
<enterprise-beans>
<session>
<display-name>AdviceBeanSB</display-name>
<ejb-name>AdviceBeanBean</ejb-name>
<home>com.headfirst.AdviceBeanRemoteHome</home>
<remote>com.headfirst.AdviceBeanRemote</remote>
<ejb-class>com.headfirst.AdviceBeanBean</ejb-class>
<session-type>Stateless</session-type>
<transaction-type>Container</transaction-type>
</session>
</enterprise-beans>
<assembly-descriptor>
<container-transaction>
<method>
<ejb-name>AdviceBeanBean</ejb-name>
<method-name>*</method-name>
</method>
<trans-attribute>Required</trans-attribute>
</container-transaction>
</assembly-descriptor>
</ejb-jar>
//*************************************************************************************************
This is my sun-ejb-jar.xml
//**************************************************************************************************

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sun-ejb-jar PUBLIC "-//Sun Microsystems, Inc.//DTD Application Server 9.0 EJB 3.0//EN" "http://www.sun.com/software/appserver/dtds/sun-ejb-jar_3_0-0.dtd">
<sun-ejb-jar>
<enterprise-beans>
<ejb>
<ejb-name>AdviceBeanBean</ejb-name>
<jndi-name>Advisor</jndi-name>
</ejb>
</enterprise-beans>
</sun-ejb-jar>
//*************************************************************************************************
This is my client program(Stand alone program)
//*************************************************************************************************

/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/

package com.client;

import javax.naming.*;
import java.rmi.*;
import javax.rmi.*;
import com.headfirst.*;
import javax.ejb.*;
import java.util.*;
import java.io.*;



/**
*
* @author ESTUATE
*/
public class AdviceClient
{
public static void main(String arg[])
{
try
{
Context ic = new InitialContext();
Object o = ic.lookup("Advisor");
AdviceBeanRemoteHome home = (AdviceBeanRemoteHome)PortableRemoteObject.narrow(o, AdviceBeanRemoteHome.class);
AdviceBeanRemote advisor = home.create();
System.out.println(advisor.getAdvice());
}
catch(Exception e)
{
e.printStackTrace();
}
}
}
//**************************************************************************************
The problem i am facing is when ever I am running the program I am getting the following error
//*************************************************************************************
init:
deps-jar:
Compiling 1 source file to C:\Documents and Settings\ESTUATE\My Documents\NetBeansProjects\EJBModule1\build\jar
compile-single:
run-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(NamingManager.java:645)
at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:288)
at javax.naming.InitialContext.getURLOrDefaultInitCtx(InitialContext.java:325)
at javax.naming.InitialContext.lookup(InitialContext.java:392)
at com.client.AdviceClient.main(AdviceClient.java:30)
BUILD SUCCESSFUL (total time: 1 second)


Can any one help to solve this problem....Thanks in advance

 
Sheriff
Posts: 10445
227
IntelliJ IDE Ubuntu
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
See Reza's answer here https://coderanch.com/t/435153/EJB-Other-Java-EE-Technologies/java/Initial-Context-Exception#1933895
 
anoop estuate
Greenhorn
Posts: 4
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hi,
I have given all the details about the program. The jndi name in sun-ejb jar.xml file should match with the
//***********************************************************
sun-ejb jar.xml
//***********************************************************
<ejb>
<ejb-name>AdviceBeanBean</ejb-name>
<jndi-name>Advisor</jndi-name>
</ejb>

and
//**************************************************************
The client program
//**************************************************************

Object o = ic.lookup("Advisor");

//***************************************************************
Still why it is showing the 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:288)
at javax.naming.InitialContext.getURLOrDefaultInitCtx(InitialContext.java:325)
at javax.naming.InitialContext.lookup(InitialContext.java:392)
at com.client.AdviceClient.main(AdviceClient.java:29)


CAN ANY ONE HELP ME TO SOLVE THIS PROBLEM PLEASE!!!
Thanks in advance.....
reply
    Bookmark Topic Watch Topic
  • New Topic