EJB Local Interfaces / javax.naming.NamingException

Hi!
I have tried to deploy a very simple (Hello World like)EJB-Application. It contains a simple stateless SessionBean (with local interfaces) and a JSP which is using the EJB.
Opening the JSP i get the following error message:
javax.naming.NamingException: Error instantiating web-app JNDI-context: No location specified and no suitable instance found for the ejb-local-ref 'ejb/TesterEJB', an EJB matching it's ejb-link 'ejb-jar-ic.jar#TesterEJB' was found, but it contained an Entity, not a Session
Here's 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>
     <display-name>oc4jJAR</display-name>
     <enterprise-beans>
          <session>
               <display-name>TesterEJB</display-name>
               <ejb-name>TesterEJB</ejb-name>
               <local-home>oc4jtest.TesterHome</local-home>
               <local>oc4jtest.Tester</local>
               <ejb-class>oc4jtest.TesterBean</ejb-class>
               <session-type>Stateless</session-type>
               <transaction-type>Container</transaction-type>
               <security-identity>
                    <description/>
                    <use-caller-identity/>
               </security-identity>
          </session>
     </enterprise-beans>
     <assembly-descriptor>
          <method-permission>
               <unchecked/>
               <method>
                    <ejb-name>TesterEJB</ejb-name>
                    <method-intf>Local</method-intf>
                    <method-name>getMessage</method-name>
                    <method-params/>
               </method>
               <method>
                    <ejb-name>TesterEJB</ejb-name>
                    <method-intf>Local</method-intf>
                    <method-name>getPrimaryKey</method-name>
                    <method-params/>
               </method>
               <method>
                    <ejb-name>TesterEJB</ejb-name>
                    <method-intf>Local</method-intf>
                    <method-name>getEJBLocalHome</method-name>
                    <method-params/>
               </method>
               <method>
                    <ejb-name>TesterEJB</ejb-name>
                    <method-intf>LocalHome</method-intf>
                    <method-name>remove</method-name>
                    <method-params>
                         <method-param>java.lang.Object</method-param>
                    </method-params>
               </method>
               <method>
                    <ejb-name>TesterEJB</ejb-name>
                    <method-intf>Local</method-intf>
                    <method-name>remove</method-name>
                    <method-params/>
               </method>
               <method>
                    <ejb-name>TesterEJB</ejb-name>
                    <method-intf>Local</method-intf>
                    <method-name>isIdentical</method-name>
                    <method-params>
                         <method-param>javax.ejb.EJBLocalObject</method-param>
                    </method-params>
               </method>
               <method>
                    <ejb-name>TesterEJB</ejb-name>
                    <method-intf>LocalHome</method-intf>
                    <method-name>create</method-name>
                    <method-params/>
               </method>
          </method-permission>
          <container-transaction>
               <method>
                    <ejb-name>TesterEJB</ejb-name>
                    <method-intf>Local</method-intf>
                    <method-name>getMessage</method-name>
                    <method-params/>
               </method>
               <trans-attribute>Required</trans-attribute>
          </container-transaction>
     </assembly-descriptor>
</ejb-jar>
And here's my web.xml:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app PUBLIC '-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN' 'http://java.sun.com/dtd/web-app_2_3.dtd'>
<web-app>
     <display-name>oc4jWAR</display-name>
     <filter>
          <filter-name>TestFilter</filter-name>
          <display-name>TestFilter</display-name>
          <description/>
          <filter-class>oc4jtest.TestFilter</filter-class>
     </filter>
     <filter-mapping>
          <filter-name>TestFilter</filter-name>
          <url-pattern>*.jsp</url-pattern>
     </filter-mapping>
     <servlet>
          <servlet-name>test</servlet-name>
          <display-name>test</display-name>
          <jsp-file>/test.jsp</jsp-file>
     </servlet>
     <session-config>
          <session-timeout>30</session-timeout>
     </session-config>
     <welcome-file-list>
          <welcome-file>/test.jsp</welcome-file>
     </welcome-file-list>
     <ejb-local-ref>
          <ejb-ref-name>ejb/TesterEJB</ejb-ref-name>
          <ejb-ref-type>Session</ejb-ref-type>
          <local-home>oc4jtest.TesterHome</local-home>
          <local>oc4jtest.Tester</local>
          <ejb-link>ejb-jar-ic.jar#TesterEJB</ejb-link>
     </ejb-local-ref>
</web-app>
What's wrong?
Comments would be appreciated!
Thanks!
Peter
PS: The application runs fine on Sun's Reference Implementation!

Hi!
I have tried to deploy a very simple (Hello World like)EJB-Application. It contains a simple stateless SessionBean (with local interfaces) and a JSP which is using the EJB.
Opening the JSP i get the following error message:
javax.naming.NamingException: Error instantiating web-app JNDI-context: No location specified and no suitable instance found for the ejb-local-ref 'ejb/TesterEJB', an EJB matching it's ejb-link 'ejb-jar-ic.jar#TesterEJB' was found, but it contained an Entity, not a Session
Here's 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>
     <display-name>oc4jJAR</display-name>
     <enterprise-beans>
          <session>
               <display-name>TesterEJB</display-name>
               <ejb-name>TesterEJB</ejb-name>
               <local-home>oc4jtest.TesterHome</local-home>
               <local>oc4jtest.Tester</local>
               <ejb-class>oc4jtest.TesterBean</ejb-class>
               <session-type>Stateless</session-type>
               <transaction-type>Container</transaction-type>
               <security-identity>
                    <description/>
                    <use-caller-identity/>
               </security-identity>
          </session>
     </enterprise-beans>
     <assembly-descriptor>
          <method-permission>
               <unchecked/>
               <method>
                    <ejb-name>TesterEJB</ejb-name>
                    <method-intf>Local</method-intf>
                    <method-name>getMessage</method-name>
                    <method-params/>
               </method>
               <method>
                    <ejb-name>TesterEJB</ejb-name>
                    <method-intf>Local</method-intf>
                    <method-name>getPrimaryKey</method-name>
                    <method-params/>
               </method>
               <method>
                    <ejb-name>TesterEJB</ejb-name>
                    <method-intf>Local</method-intf>
                    <method-name>getEJBLocalHome</method-name>
                    <method-params/>
               </method>
               <method>
                    <ejb-name>TesterEJB</ejb-name>
                    <method-intf>LocalHome</method-intf>
                    <method-name>remove</method-name>
                    <method-params>
                         <method-param>java.lang.Object</method-param>
                    </method-params>
               </method>
               <method>
                    <ejb-name>TesterEJB</ejb-name>
                    <method-intf>Local</method-intf>
                    <method-name>remove</method-name>
                    <method-params/>
               </method>
               <method>
                    <ejb-name>TesterEJB</ejb-name>
                    <method-intf>Local</method-intf>
                    <method-name>isIdentical</method-name>
                    <method-params>
                         <method-param>javax.ejb.EJBLocalObject</method-param>
                    </method-params>
               </method>
               <method>
                    <ejb-name>TesterEJB</ejb-name>
                    <method-intf>LocalHome</method-intf>
                    <method-name>create</method-name>
                    <method-params/>
               </method>
          </method-permission>
          <container-transaction>
               <method>
                    <ejb-name>TesterEJB</ejb-name>
                    <method-intf>Local</method-intf>
                    <method-name>getMessage</method-name>
                    <method-params/>
               </method>
               <trans-attribute>Required</trans-attribute>
          </container-transaction>
     </assembly-descriptor>
</ejb-jar>
And here's my web.xml:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app PUBLIC '-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN' 'http://java.sun.com/dtd/web-app_2_3.dtd'>
<web-app>
     <display-name>oc4jWAR</display-name>
     <filter>
          <filter-name>TestFilter</filter-name>
          <display-name>TestFilter</display-name>
          <description/>
          <filter-class>oc4jtest.TestFilter</filter-class>
     </filter>
     <filter-mapping>
          <filter-name>TestFilter</filter-name>
          <url-pattern>*.jsp</url-pattern>
     </filter-mapping>
     <servlet>
          <servlet-name>test</servlet-name>
          <display-name>test</display-name>
          <jsp-file>/test.jsp</jsp-file>
     </servlet>
     <session-config>
          <session-timeout>30</session-timeout>
     </session-config>
     <welcome-file-list>
          <welcome-file>/test.jsp</welcome-file>
     </welcome-file-list>
     <ejb-local-ref>
          <ejb-ref-name>ejb/TesterEJB</ejb-ref-name>
          <ejb-ref-type>Session</ejb-ref-type>
          <local-home>oc4jtest.TesterHome</local-home>
          <local>oc4jtest.Tester</local>
          <ejb-link>ejb-jar-ic.jar#TesterEJB</ejb-link>
     </ejb-local-ref>
</web-app>
What's wrong?
Comments would be appreciated!
Thanks!
Peter
PS: The application runs fine on Sun's Reference Implementation!

Similar Messages

  • Creating a simple java client for a session EJB local interface

    Hi all
    Is it possible to create a simple java client for a session ejb local interface with JDeveloper.
    The problem is that it creates a test client for a remote interface only...
    i.e.
    MySessionEJB sessionEJB = context.lookup("MySessionEJB")
    and once i try to adjust it manually for the local interface...
    MySessionEJBLocal sessionEJB = (MySessionEJBLocal) context.lookup("MySessionEJBLocal") (MySessionEJBLocal - is the name of my local interface)
    it generates the exception:
    javax.naming.NotFoundException: SessionEJBLocal not found
    at...........................(RMIClientContext.java:52)
    There is still no problem with accessing the local interface object from the jsf project where i've added <ejb-local-ref> tag into the web.xml file.
    but i need the possibility of testing the simple java client for the local interface to test business methods wich should return objects without indirect properties
    Thanks in advance.
    Alex.

    Pedja thanks for reply.
    I still dont understand what is wrong with my example.
    The first peace of the code i wrote (getting the reference to the remote interface object) works pretty well, and even more it is produced automatically by JDeveloper, so why we cant get a reference to the local interface object the same way?
    Certanly we should use the local interface for getting access to the resource functioning under the same local jvm and i think it doesnt metter wich app server we really use wls or oas or others
    Thanks. Alex.

  • Javax.naming.NamingException.  Root exception is java.lang.NoSuchMethodError

    I am using WLS5.1 inside visualage environment. I am trying to run
    a Simple EJB which connects to the database and executes two simple
    queries. The client code is as shown below:
    try{
    Context ic = getInitialContext();
    System.out.println("Initial Context created......"); java.lang.Object
    objref = ic.lookup("simpleBean.AtmHome"); System.out.println("objref
    created......");
    AtmHome home = (AtmHome) PortableRemoteObject.narrow(objref, AtmHome.class);
    System.out.println("home created......");
    Atm atm = home.create();
    System.out.println("atm created......");
    atm.transfer(8, 9, 100000);
    catch (NamingException ne)
    ne.printStackTrace(System.out);
    finally {
         try {
              ic.close();
              System.out.println("Closed the connection");
         catch (Exception e) {
              System.out.println("Exception while closing context....." );
    The above code executes fine for the first time but second time
    it throws an exception "javax.naming.NamingException.
    Root exception is java.lang.NoSuchMethodError"
    javax.naming.NamingException. Root exception is java.lang.NoSuchMethodError
         java.lang.Throwable()
         java.lang.Error()
         java.lang.LinkageError()
         java.lang.IncompatibleClassChangeError()
         java.lang.NoSuchMethodError()
         void javax.naming.NameImpl.recordNamingConvention(java.util.Properties)
         void javax.naming.NameImpl.recordNamingConvention(java.util.Properties)
         javax.naming.NameImpl(java.util.Properties)
         javax.naming.CompositeName()
         weblogic.jndi.toolkit.NormalName(java.lang.String, javax.naming.NameParser)
         weblogic.jndi.toolkit.NormalName weblogic.jndi.toolkit.BasicWLContext.normalizeName(java.lang.String)
         java.lang.Object weblogic.jndi.toolkit.BasicWLContext.lookup(java.lang.String)
         weblogic.rmi.extensions.OutgoingResponse weblogic.jndi.toolkit.BasicWLContext_WLSkel.invoke(weblogic.rmi.extensions.ServerObjectReference,
    int, weblogic.rmi.extensions.IncomingRequest, weblogic.rmi.extensions.OutgoingResponse)
         java.lang.Throwable weblogic.rmi.extensions.BasicServerObjectAdapter.invoke(int,
    weblogic.rmi.extensions.IncomingRequest)
         void weblogic.rmi.extensions.BasicRequestHandler.handleRequest(weblogic.rmi.extensions.IncomingRequest)
         void weblogic.rmi.internal.BasicExecuteRequest.execute(weblogic.kernel.ExecuteThread)
         void weblogic.kernel.ExecuteThread.run()
    --------------- nested within: ------------------
    weblogic.rmi.ServerError: A RemoteException occurred in the server
    method
    - with nested exception:
    [java.lang.NoSuchMethodError:
    Start server side stack trace:
    java.lang.NoSuchMethodError
         java.lang.Throwable()
         java.lang.Error()
         java.lang.LinkageError()
         java.lang.IncompatibleClassChangeError()
         java.lang.NoSuchMethodError()
         void javax.naming.NameImpl.recordNamingConvention(java.util.Properties)
         void javax.naming.NameImpl.recordNamingConvention(java.util.Properties)
         javax.naming.NameImpl(java.util.Properties)
         javax.naming.CompositeName()
         weblogic.jndi.toolkit.NormalName(java.lang.String, javax.naming.NameParser)
         weblogic.jndi.toolkit.NormalName weblogic.jndi.toolkit.BasicWLContext.normalizeName(java.lang.String)
         java.lang.Object weblogic.jndi.toolkit.BasicWLContext.lookup(java.lang.String)
         weblogic.rmi.extensions.OutgoingResponse weblogic.jndi.toolkit.BasicWLContext_WLSkel.invoke(weblogic.rmi.extensions.ServerObjectReference,
    int, weblogic.rmi.extensions.IncomingRequest, weblogic.rmi.extensions.OutgoingResponse)
         java.lang.Throwable weblogic.rmi.extensions.BasicServerObjectAdapter.invoke(int,
    weblogic.rmi.extensions.IncomingRequest)
         void weblogic.rmi.extensions.BasicRequestHandler.handleRequest(weblogic.rmi.extensions.IncomingRequest)
         void weblogic.rmi.internal.BasicExecuteRequest.execute(weblogic.kernel.ExecuteThread)
         void weblogic.kernel.ExecuteThread.run()
    End  server side stack trace
         weblogic.rmi.extensions.WRMIInputStream weblogic.rmi.extensions.AbstractRequest.sendReceive()
         java.lang.Object weblogic.jndi.toolkit.BasicWLContext_WLStub.lookup(java.lang.String)
         java.lang.Object weblogic.jndi.toolkit.WLContextStub.lookup(java.lang.String)
         java.lang.Object javax.naming.InitialContext.lookup(java.lang.String)
         void simpleBean.AtmClient.main(java.lang.String [])
    NamingException is caught....
    I found out that it hangs at lookup function in the above code.
    Please let me know if I am missing any environment settings.
    Thanks
    Shailaja

    This problem is solved after installing service pack 8 for weblogic
    5.1
    -shailaja
    "shailaja" <[email protected]> wrote:
    >
    I am using WLS5.1 inside visualage environment. I am trying
    to run
    a Simple EJB which connects to the database and executes
    two simple
    queries. The client code is as shown below:
    try{
    Context ic = getInitialContext();
    System.out.println("Initial Context created......"); java.lang.Object
    objref = ic.lookup("simpleBean.AtmHome"); System.out.println("objref
    created......");
    AtmHome home = (AtmHome) PortableRemoteObject.narrow(objref,
    AtmHome.class);
    System.out.println("home created......");
    Atm atm = home.create();
    System.out.println("atm created......");
    atm.transfer(8, 9, 100000);
    catch (NamingException ne)
    ne.printStackTrace(System.out);
    finally {
         try {
              ic.close();
              System.out.println("Closed the connection");
         catch (Exception e) {
              System.out.println("Exception while closing context....."
    The above code executes fine for the first time but second
    time
    it throws an exception "javax.naming.NamingException.
    Root exception is java.lang.NoSuchMethodError"
    javax.naming.NamingException. Root exception is java.lang.NoSuchMethodError
         java.lang.Throwable()
         java.lang.Error()
         java.lang.LinkageError()
         java.lang.IncompatibleClassChangeError()
         java.lang.NoSuchMethodError()
         void javax.naming.NameImpl.recordNamingConvention(java.util.Properties)
         void javax.naming.NameImpl.recordNamingConvention(java.util.Properties)
         javax.naming.NameImpl(java.util.Properties)
         javax.naming.CompositeName()
         weblogic.jndi.toolkit.NormalName(java.lang.String, javax.naming.NameParser)
         weblogic.jndi.toolkit.NormalName weblogic.jndi.toolkit.BasicWLContext.normalizeName(java.lang.String)
         java.lang.Object weblogic.jndi.toolkit.BasicWLContext.lookup(java.lang.String)
         weblogic.rmi.extensions.OutgoingResponse weblogic.jndi.toolkit.BasicWLContext_WLSkel.invoke(weblogic.rmi.extensions.ServerObjectReference,
    int, weblogic.rmi.extensions.IncomingRequest, weblogic.rmi.extensions.OutgoingResponse)
         java.lang.Throwable weblogic.rmi.extensions.BasicServerObjectAdapter.invoke(int,
    weblogic.rmi.extensions.IncomingRequest)
         void weblogic.rmi.extensions.BasicRequestHandler.handleRequest(weblogic.rmi.extensions.IncomingRequest)
         void weblogic.rmi.internal.BasicExecuteRequest.execute(weblogic.kernel.ExecuteThread)
         void weblogic.kernel.ExecuteThread.run()
    --------------- nested within: ------------------
    weblogic.rmi.ServerError: A RemoteException occurred in
    the server
    method
    - with nested exception:
    [java.lang.NoSuchMethodError:
    Start server side stack trace:
    java.lang.NoSuchMethodError
         java.lang.Throwable()
         java.lang.Error()
         java.lang.LinkageError()
         java.lang.IncompatibleClassChangeError()
         java.lang.NoSuchMethodError()
         void javax.naming.NameImpl.recordNamingConvention(java.util.Properties)
         void javax.naming.NameImpl.recordNamingConvention(java.util.Properties)
         javax.naming.NameImpl(java.util.Properties)
         javax.naming.CompositeName()
         weblogic.jndi.toolkit.NormalName(java.lang.String, javax.naming.NameParser)
         weblogic.jndi.toolkit.NormalName weblogic.jndi.toolkit.BasicWLContext.normalizeName(java.lang.String)
         java.lang.Object weblogic.jndi.toolkit.BasicWLContext.lookup(java.lang.String)
         weblogic.rmi.extensions.OutgoingResponse weblogic.jndi.toolkit.BasicWLContext_WLSkel.invoke(weblogic.rmi.extensions.ServerObjectReference,
    int, weblogic.rmi.extensions.IncomingRequest, weblogic.rmi.extensions.OutgoingResponse)
         java.lang.Throwable weblogic.rmi.extensions.BasicServerObjectAdapter.invoke(int,
    weblogic.rmi.extensions.IncomingRequest)
         void weblogic.rmi.extensions.BasicRequestHandler.handleRequest(weblogic.rmi.extensions.IncomingRequest)
         void weblogic.rmi.internal.BasicExecuteRequest.execute(weblogic.kernel.ExecuteThread)
         void weblogic.kernel.ExecuteThread.run()
    End  server side stack trace
         weblogic.rmi.extensions.WRMIInputStream weblogic.rmi.extensions.AbstractRequest.sendReceive()
         java.lang.Object weblogic.jndi.toolkit.BasicWLContext_WLStub.lookup(java.lang.String)
         java.lang.Object weblogic.jndi.toolkit.WLContextStub.lookup(java.lang.String)
         java.lang.Object javax.naming.InitialContext.lookup(java.lang.String)
         void simpleBean.AtmClient.main(java.lang.String [])
    NamingException is caught....
    I found out that it hangs at lookup function in the above
    code.
    Please let me know if I am missing any environment settings.
    Thanks
    Shailaja

  • Javax.naming.NamingException    Please Helppppp !!

    Hi,
    There is my code :
    "PropertyResourceBundle namingProperties =
    (PropertyResourceBundle) PropertyResourceBundle.getBundle("MyAppNaming");
    Hashtable properties = getPropertyFromRB(namingProperties);
    initContext = new javax.naming.InitialContext(properties);
    java.lang.Object obj = initialContext.lookup(jndiName);"
    The last line returns an Exception :
    javax.naming.NamingException: Error during resolve [Root exception is java.lang.NullPointerException]
    The Application server containing the EJBs is well started, and the JNDI name for the EJbs in the application server and in my application are the same...
    Where am i wrong ??
    Thanks in advance for your help
    Steve

    Help me please, i become crazy with this problem !!
    Thanks
    Steve

  • OpenEJB and javax.naming.NamingException

    Hello
    I got following error when running my EJB Client
    Cannot lookup /Hello: Received error: Error while communicating with server: ; nested exception is:
         java.rmi.RemoteException: Cannot read the response from the server.; nested exception is:
         java.io.EOFException
    This is the part of code
    Properties p = new Properties();
    p.put("java.naming.factory.initial", "org.openejb.client.RemoteInitialContextFactory");
    p.put("java.naming.provider.url", "127.0.0.1:4201");
    InitialContext initCtx = new InitialContext(p);
    Object object = initCtx.lookup( "/Hello" );
    And this the the command line :)
    "C:\Program Files\JBuilderX\jdk1.4\bin\javaw" -classpath "D:\Work\test1\classes;C:\Program Files\JBuilderX\thirdparty\jakarta-tomcat-4.1.27-LE-jdk14\common\lib\servlet.jar;D:\Work\test1\WebModule1\myHelloEjb.zip;D:\Work\EJB\ejb-2_1-api.jar;C:\openejb\lib\openejb-core-1.0-20050917.jar;C:\openejb\lib\openejb-itests-client.jar;C:\openejb\lib\openejb-loader-1.0-20050917.jar;D:\Java-Libs\jndi.jar;C:\Program Files\JBuilderX\jdk1.4\demo\jfc\Java2D\Java2Demo.jar;C:\Program Files\JBuilderX\jdk1.4\demo\plugin\jfc\Java2D\Java2Demo.jar;C:\Program Files\JBuilderX\jdk1.4\jre\javaws\javaws.jar;C:\Program Files\JBuilderX\jdk1.4\jre\lib\charsets.jar;C:\Program Files\JBuilderX\jdk1.4\jre\lib\ext\dnsns.jar;C:\Program Files\JBuilderX\jdk1.4\jre\lib\ext\ldapsec.jar;C:\Program Files\JBuilderX\jdk1.4\jre\lib\ext\localedata.jar;C:\Program Files\JBuilderX\jdk1.4\jre\lib\ext\sunjce_provider.jar;C:\Program Files\JBuilderX\jdk1.4\jre\lib\im\indicim.jar;C:\Program Files\JBuilderX\jdk1.4\jre\lib\im\thaiim.jar;C:\Program Files\JBuilderX\jdk1.4\jre\lib\jce.jar;C:\Program Files\JBuilderX\jdk1.4\jre\lib\jsse.jar;C:\Program Files\JBuilderX\jdk1.4\jre\lib\plugin.jar;C:\Program Files\JBuilderX\jdk1.4\jre\lib\rt.jar;C:\Program Files\JBuilderX\jdk1.4\jre\lib\sunrsasign.jar;C:\Program Files\JBuilderX\jdk1.4\lib\dt.jar;C:\Program Files\JBuilderX\jdk1.4\lib\htmlconverter.jar;C:\Program Files\JBuilderX\jdk1.4\lib\tools.jar" -Dopenejb.home=c:\openejb test1.testEJB
    Why I got this error? Please help me.
    Thanks.

    You really are going to kick yourself !!
    Looks like a combination of a missing, or non existent OU and a typo !
    You are trying to create a subcontext named:"cn=jain,ou=orgunit,DN=praveendomain"I think you meant:"cn=jain,ou=orgunit,DC=praveendomain"Also if the OU"ou=orgunit,DC=praveendomain" does not exist, you will also get an error. In general, the Active Directory DSID error message will identify the incorrect distinguished name javax.naming.NamingException: [LDAP: error code 1 - 000020D6: SvcErr: DSID-031006CC, problem 5012 (DIR_ERROR), data 0
    ;remaining name 'cn=jain,ou=orgunit,DN=praveendomain'

  • Javax.naming.NamingException: Could not obtain InitialContext for URL

    Hello Folks,
    I am getting an error
    "javax.naming.NamingException: Could not obtain InitialContext for URL" when I am trying to call a servlet(deployed in an ear file in weblogic server) from a client.
    Any help or suggestion would be highly appeciable. Please let me know if any further information is required
    Regards
    Pankaj

    I encounter the same issues when using the TimerTask to access the JNDI tree. I have found success when I move my business logic to an EJB and call my EJB from my TimerTask. It's a bit more work, but not much. The EJB inherits it's identity based on it's configuration and has no trouble accessing the JNDI tree whenever it's called. Try this and see if your problem doesn't go away.
    Hope this helps,
    Perry Tew

  • Sun One Webserver Connection Pooling - javax.naming.NamingException

    I'm trying to configure a container managed datasource in Sun One Webserver. I've followed the steps given in the Sun One Webserver Administrator's Guide, however when I try to lookup the datasource I get a "javax.naming.NamingException: Cannot create resource instance" exception (full stack trace below). I have verified the database connection info (URL/user/password) is correct using Squirrel and I've appended the location of classes12.jar to the server's classpath in server.xml. Relevant snippets from the configuration files, my lookup code, and the stack trace are below. I've been beating my head on this for almost two days and I would appreciate any tips on how to debug this.
    web.xml
        <resource-ref>
            <description>JNDI DataSource</description>
            <res-ref-name>jdbc/web920</res-ref-name>
            <res-type>javax.sql.DataSource</res-type>
            <res-auth>Container</res-auth>
            <res-sharing-scope>Sharable</res-sharing-scope>
        </resource-ref>
    sun-web.xml
        <resource-ref>
            <res-ref-name>jdbc/web920</res-ref-name>
            <jndi-name>jdbc/web920</jndi-name>
        </resource-ref> 
    server.xml
    <RESOURCES>
        <JDBCCONNECTIONPOOL name="web920" datasourceclassname="oracle.jdbc.pool.OracleDataSource" steadypoolsize="8" maxpoolsize="32" poolresizequantity="2" idletimeout="300" maxwaittime="60000" connectionvalidationrequired="off"
            connectionvalidationmethod="auto-commit" validationtablename="" failallconnections="off" transactionisolationlevel="read-uncommitted" isolationlevelguaranteed="off">
            <PROPERTY name="URL" value="jdbc:oracle:thin:@d1web920.mydomain.com:1521:d1web920" />
            <PROPERTY name="User" value="<username>" />
            <PROPERTY name="Password" value="<password>" />
        </JDBCCONNECTIONPOOL>
        <JDBCRESOURCE jndiname="jdbc/web920" poolname="web920" enabled="on" />
    </RESOURCES>
    Lookup code
        private static DataSource getDataSource(){
            DataSource ds = null;
            try {
                Object o = new InitialContext().lookup("java:comp/env/jdbc/web920");
                ds = (DataSource) o;
            } catch (NamingException e) {
                System.out.println("Error retrieving DataSource.");
                e.printStackTrace();
            return ds;       
    Stack Trace
    warning: CORE3283: stderr: javax.naming.NamingException: Cannot create resource instance
    warning: CORE3283: stderr:      at org.apache.naming.factory.ResourceFactory.getObjectInstance(ResourceFactory.java:167)
    warning: CORE3283: stderr:      at javax.naming.spi.NamingManager.getObjectInstance(NamingManager.java:304)
    warning: CORE3283: stderr:      at org.apache.naming.NamingContext.lookup(NamingContext.java:834)
    warning: CORE3283: stderr:      at org.apache.naming.NamingContext.lookup(NamingContext.java:181)
    warning: CORE3283: stderr:      at org.apache.naming.NamingContext.lookup(NamingContext.java:822)
    warning: CORE3283: stderr:      at org.apache.naming.NamingContext.lookup(NamingContext.java:181)
    warning: CORE3283: stderr:      at org.apache.naming.NamingContext.lookup(NamingContext.java:822)
    warning: CORE3283: stderr:      at org.apache.naming.NamingContext.lookup(NamingContext.java:181)
    warning: CORE3283: stderr:      at org.apache.naming.NamingContext.lookup(NamingContext.java:822)
    warning: CORE3283: stderr:      at org.apache.naming.NamingContext.lookup(NamingContext.java:194)
    warning: CORE3283: stderr:      at org.apache.naming.SelectorContext.lookup(SelectorContext.java:183)
    warning: CORE3283: stderr:      at javax.naming.InitialContext.lookup(InitialContext.java:351)
    warning: CORE3283: stderr:      at mil.army.usaac.portal.util.DatabaseConnectionManager.getDataSource(DatabaseConnectionManager.java:99)
    warning: CORE3283: stderr:      at mil.army.usaac.portal.util.DatabaseConnectionManager.init(DatabaseConnectionManager.java:40)
    warning: CORE3283: stderr:      at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:921)
    warning: CORE3283: stderr:      at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:813)
    warning: CORE3283: stderr:      at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:3478)
    warning: CORE3283: stderr:      at org.apache.catalina.core.StandardContext.start(StandardContext.java:3760)
    warning: CORE3283: stderr:      at com.iplanet.ias.web.WebModule.start(WebModule.java:251)
    warning: CORE3283: stderr:      at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1133)
    warning: CORE3283: stderr:      at org.apache.catalina.core.StandardHost.start(StandardHost.java:652)
    warning: CORE3283: stderr:      at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1133)
    warning: CORE3283: stderr:      at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:355)
    warning: CORE3283: stderr:      at org.apache.catalina.startup.Embedded.start(Embedded.java:995)
    warning: CORE3283: stderr:      at com.iplanet.ias.web.WebContainer.start(WebContainer.java:431)
    warning: CORE3283: stderr:      at com.iplanet.ias.web.WebContainer.startInstance(WebContainer.java:500)
    warning: CORE3283: stderr:      at com.iplanet.ias.server.J2EERunner.confPostInit(J2EERunner.java:161)

    we are trying to connect MS Access thru tomcat and it is giving the above exception
    i have changed the server.xml
    <Resource name="jdbc/Mess" auth="Container" scope="Shareable" type="javax.sql.DataSource"/>
    <ResourceParams name="jdbc/Mess">
    <parameter>
    <name>maxWait</name>
    <value>5000</value>
    </parameter>
    <parameter>
    <name>maxActive</name>
    <value>4</value>
    </parameter>
    <parameter>
    <name>password</name>
    <value>admin</value>
    </parameter>
    <parameter>
    <name>url</name>
    <value>jdbc:odbc:Mess</value>
    </parameter>
    <parameter>
    <name>driverClassName</name>
    <value>sun.jdbc.odbc.JdbcOdbcDriver</value>
    </parameter>
    <parameter>
    <name>maxIdle</name>
    <value>2</value>
    </parameter>
    <parameter>
    <name>username</name>
    <value>admin</value>
    </parameter>
    </ResourceParams>
    web.xml
    <resource-ref>
    <description>Access Datasource example</description>
    <res-ref-name>jdbc/Mess</res-ref-name>
    <res-type>javax.sql.DataSource</res-type>
    <res-auth>Container</res-auth>
    </resource-ref>
    java class
    Context initContext = new InitialContext();
    DataSource ds = (DataSource)initContext.lookup("java:/comp/env/jdbc/Mess");
    con = ds.getConnection();
    Please help.......

  • Javax.naming.NamingException

    When I run the following deployment. . .
    java -jar ../../admin.jar ormi://localhost admin 123456 -deploy -file csldc.ear
    I get this . . .
    Error: javax.naming.NamingException: Lookup error: java.net.ConnectException: Co
    nnection refused: connect; nested exception is: java.net.ConnectException: Connection refused: connect
    any ideas???????

    First, make sure oc4j is started. oc4j ships with default configuration which starts http listener at port 8888. Browse to http://localhost:8888 and you should see oc4j default website. If not, check default-web-site to see if the port is any different.
    Also, ormi runs at port 23791 by default. If you have changed the port 23791 in rmi.xml, you must use java -jar admin.jar ormo://localhost:<port> .... to deploy your file
    null

  • Error while starting Instance -javax.naming.NamingException: Cannot bind nu

    Kindly help!!!!!
    Application gets deployed on Oracle Weblogic Server 11g. But while starting its gives the Error
    javax.naming.NamingException: Cannot bind null object to jndi with name.
    All the things seems to be in place. Kindly help

    No I am not getting this error while deploying the application. Application gets successfully deployed.
    Once I start the application I get this error
    <Apr 17, 2010 5:28:46 PM IST> <Warning> <Deployer> <BEA-149004> <Failures were detected while initiating
    <Apr 17, 2010 5:28:46 PM IST> <Warning> <Deployer> <BEA-149078> <Stack trace for message 149004
    weblogic.application.ModuleException: Could not setup environment
    at weblogic.servlet.internal.WebAppModule.activateContexts(WebAppModule.java:1361)
    at weblogic.servlet.internal.WebAppModule.activate(WebAppModule.java:408)
    at weblogic.application.internal.flow.ModuleStateDriver$2.next(ModuleStateDriver.java:182)
    at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:37)
    at weblogic.application.internal.flow.ModuleStateDriver.activate(ModuleStateDriver.java:48)
    Truncated. see log file for complete stacktrace
    javax.naming.NamingException: Cannot bind null object to jndi with name jms/queue/EodBodQueueJNDI
    at weblogic.jndi.internal.BasicNamingNode.bind(BasicNamingNode.java:311)
    at weblogic.jndi.internal.WLEventContextImpl.bind(WLEventContextImpl.java:277)
    at weblogic.deployment.EnvironmentBuilder.addConnectorRef(EnvironmentBuilder.java:233)
    at weblogic.deployment.EnvironmentBuilder.addResourceReferences(EnvironmentBuilder.java:152)
    at weblogic.servlet.internal.CompEnv.activate(CompEnv.java:138)
    Truncated. see log file for complete stacktrace

  • Javax.naming.NamingException: Failed in WD JNDI lookup

    Hi,
               I have deployed wdj applications,some times its working fine ,but some other times its through the following errors.
    javax.naming.NamingException: Failed in WD JNDI lookup
    Any one please suggest me
    Thanks,
    Venu

    Hi Friend,
    I am not sure what Other Reason can be for this problem mean while check these links. Hope it will help.
    /message/6928201#6928201 [original link is broken]
    /message/6315352#6315352 [original link is broken]
    Regards
    Jeetendra

  • Quartz in OC4J: javax.naming.NamingException

    We are running Quartz inside OC4J.
    We start OC4J with -userThreads turned on (e.g. java -jar oc4j.jar -userThreads).
    When the Quartz Job fires we do a Context lookup from the inside the Quartz execute() method to find a JMS QueueConnectionFactory and a JMS Queue.
    We are getting the following error on the Context lookup:
    06/02/15 06:40:30 Not in an application scope - start OC4J with the -userThreads switch if using user-created threads
    06/02/15 06:40:30 javax.naming.NamingException: Not in an application scope - start OC4J with the -userThreads switch if using user-created threads
    06/02/15 06:40:30 at com.evermind.server.PreemptiveApplicationContext.getContext(PreemptiveApplicationContext.java:30)
    06/02/15 06:40:30 at com.evermind.naming.FilterContext.lookup(FilterContext.java:126)
    06/02/15 06:40:30 at com.evermind.server.PreemptiveApplicationContext.lookup(PreemptiveApplicationContext.java:42)
    06/02/15 06:40:30 at javax.naming.InitialContext.lookup(InitialContext.java:351)
    06/02/15 06:40:30 at timers.JmsEndpoint.createQueue(JmsEndpoint.java:404)
    06/02/15 06:40:30 at timers.JmsEndpoint.createQueueSender(JmsEndpoint.java:82)
    06/02/15 06:40:30 at timers.TaskQueueScheduler.execute(TaskQueueScheduler.java:149)
    06/02/15 06:40:30 at org.quartz.core.JobRunShell.run(JobRunShell.java:195)
    06/02/15 06:40:30 at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:520)
    We have tried the oracle.j2ee.rmi.RMIInitialContextFactory and the oracle.j2ee.naming.ApplicationClientInitialContextFactory naming factories and get the same error with both.
    Any ideas?
    Thanks, Ed

    Avi
    I tried the default Context factory as you suggested and that didn't work either. I think the problem is related to the fact that Quartz is running on it's own thread within the same JVM as OC4J and may not have scope to the same Context object(s) that OC4J has.
    I did find a way to make this work. Before calling the Quartz Scheduler I used the OC4J Context object to lookup a JMS Queue and put the JMS QueueSender object into the Quartz JobDataMap object. I then scheduled the Quartz timer passing in the JobDataMap object. When the timer fires and my Quartz Job execute() method is called I retrieve the JMS QueueSender object from the JobDataMap and use it to send a JMS message.
    Thanks for your help,
    Ed

  • Javax.naming.NamingException: when deploying to OC4J using admin.jar

    Additional details to posting (Problem Deploying to OC4J from Jbuilder8)
    Jul 8 2003 @3:27
    enter:-
    java -jar "\ora9ias\j2ee\home\admin.jar" ormi://myhost:23791 admin password
    and you get the error message:-
    javax.naming.NamingException: Lookup error: java.net.ConnectException: Connection refused: connect; nested exception is:
    java.net.ConnectionException: Connection refused: connect
    My server.xml contains entry &lt;rmi-config path="./rmi.xml" /&gt;
    and my rmi.xml reads:-
    &lt;?xml version="1.0" standalone="yes" ?&gt;
    &lt;!DOCTYPE rmi-server (View Source for full doctype...)&gt;
    - &lt;rmi-server port="23791" host="[ALL]"&gt;
    - &lt;log&gt;
    &lt;file path="../log/rmi.log" /&gt;
    &lt;/log&gt;
    &lt;/rmi-server&gt;
    I have repeatedly checked my hostname port user name and password
    along with the statements in the server.xml and rmi.xml as above, but with no
    success.
    Regards
    Gary.

    I am facing the same problem from this morning. I was able to start oc4j jvm without any problem today in the morning and i could deploy the war file and was able to test the web pages. But due to some unavoidable reasons i had to restart my machine and ever since then i am running into the following error.
    My server.xml has a reference to rmi.xml.
    Any help is highly appreciated.
    Regards
    Kiran
    D:\Java\JDev9i\j2ee\home>java -jar oc4j.jar
    Node started with id=647722646
    Error initializing web-site at ./http-web-site.xml: default-web-app not specifie
    d for Oracle9iAS Containers for J2EE HTTP Web Site
    Oracle9iAS (9.0.3.0.0) Containers for J2EE initialized

  • Javax.naming.NamingException: Cannot create resource instance (JOTM )

    Hi all,
    I wanted to create an application with transaction management, first i tired out tyrex but could get a thing out of it now i am trying out JOTM, but i am getting this error "javax.naming.NamingException: Cannot create resource instance ", below is my configuration..
    ===context.xml===
    <Context path="/FYPMS" docBase="FYPMS" debug="1" reloadable="true" crossContext="true" antiResourceLocking="true">
    <Logger className="org.apache.catalina.logger.FileLogger" prefix="localhost_crs_log." suffix=".txt"
              timestamp="true"/>
         <Resource name="jdbc/mysql" auth="Container" type="javax.sql.DataSource"
    maxActive="100" maxIdle="30" maxWait="10000"
    username="root" password="password" driverClassName="com.mysql.jdbc.Driver"
    url="jdbc:mysql://127.0.0.1:3306/fypms?autoReconnect=true"/>
    <Resource name="UserTransaction" auth="Container"
    type="javax.transaction.UserTransaction"/>
    <ResourceParams name="UserTransaction">
    <parameter>
    <name>factory</name>
    <value>org.objectweb.jotm.UserTransactionFactory</value>
    </parameter>
    <parameter>
    <name>jotm.timeout</name>
    <value>60</value>
    </parameter>
    </ResourceParams>
    </Context>
    ===web.xml===
    <resource-ref>
    <res-ref-name>jdbc/mysql</res-ref-name>
    <res-type>javax.sql.DataSource</res-type>
    <res-auth>Container</res-auth>
    </resource-ref>
    ===insert.java===
    try{
    System.out.println("pass0");
    Context ctx = new InitialContext();
    Context envCtx = (Context)ctx.lookup("java:comp/env");
    DataSource datasource = (javax.sql.DataSource)envCtx.lookup("jdbc/mysql");               
    UserTransaction ut = (UserTransaction)envCtx.lookup("UserTransaction");
    ut.begin();
    the dataSource can be retrieve successfully but when i tired to retrieve the UserTransaction i get a "Cannot create resource instance ". Please help mi out with this.. thx
    fatmond

    we are trying to connect MS Access thru tomcat and it is giving the above exception
    i have changed the server.xml
    <Resource name="jdbc/Mess" auth="Container" scope="Shareable" type="javax.sql.DataSource"/>
    <ResourceParams name="jdbc/Mess">
    <parameter>
    <name>maxWait</name>
    <value>5000</value>
    </parameter>
    <parameter>
    <name>maxActive</name>
    <value>4</value>
    </parameter>
    <parameter>
    <name>password</name>
    <value>admin</value>
    </parameter>
    <parameter>
    <name>url</name>
    <value>jdbc:odbc:Mess</value>
    </parameter>
    <parameter>
    <name>driverClassName</name>
    <value>sun.jdbc.odbc.JdbcOdbcDriver</value>
    </parameter>
    <parameter>
    <name>maxIdle</name>
    <value>2</value>
    </parameter>
    <parameter>
    <name>username</name>
    <value>admin</value>
    </parameter>
    </ResourceParams>
    web.xml
    <resource-ref>
    <description>Access Datasource example</description>
    <res-ref-name>jdbc/Mess</res-ref-name>
    <res-type>javax.sql.DataSource</res-type>
    <res-auth>Container</res-auth>
    </resource-ref>
    java class
    Context initContext = new InitialContext();
    DataSource ds = (DataSource)initContext.lookup("java:/comp/env/jdbc/Mess");
    con = ds.getConnection();
    Please help.......

  • Does OAS9i(oc4j) support EJB Local interface?

    Hi, I'm trying to use the petstore 1.3 framework on oc4j. I read the documentation, and know that it supports EJB 2. But I find the ejb local interface isn't supported.
    Am I right?

    Hi Patrick,
    As far as I know, OC4J only partially implements EJB 2.0 -- it
    doesn't implement local interfaces. However, there are several,
    different versions available. Which version are you using?
    If you haven't already found it, there is a version of the pet
    store application available for download from:
    http://technet.oracle.com/sample_code/tech/java/oc4j/content.html
    but it's an implementation of the 1.1.2 version.
    Hope this helps,
    Avi.

  • [b]EJB unable to find my Home interface-javax.naming.NameNotFoundException[

    I am pretty new to J2ee so help me out with these basics
    I had deployed my application at college which worked exactly but when I deployed it at my home, it got deployed well but its returning a error message when create is called. Also i had used mssql for jdbc connection but haven't set the j2ee_classpath, pls help me how to find jdbc drivers .jar file. Does j2ee_classpath has anything to do with my error.All other paths are intact.
    Help me soon, i have to hurry up my proj...
    Advanced Thanks To Your Good Heart.
    - Suresh Kumar.R
    coding snippet -->****Down
         public AccountBean()
              try
                   Context ic=new InitialContext();
                   java.lang.Object objref=ic.lookup("java:comp/env/ejb/Account");
                   accountHome=(AcHome)PortableRemoteObject.narrow(objref,AcHome.class);
              catch(Exception re)
                   System.err.println("Couldn't locate Account Home");
                   re.printStackTrace();
              reset();
    ********Error :********
    Couldn't locate Account Home
    javax.naming.NameNotFoundException: Account not found
    <<no stack trace available>>ack trace available>>

    yes Everything you say is right in my prog. but it still does n't works.
    i haven't set my j2ee_classpath & does it have anything to do with my error.
    if so, where to find the drivers(MS-SQL) .jar file.
    Thank You for Your reply
    -Suresh Kumar.R

Maybe you are looking for