1 Reply Latest reply on Feb 16, 2015 7:15 AM by valsaraj viswanathan

    NoInitialContextException during Remote EJB invocations via JNDI - EJB client API

    valsaraj viswanathan Master

      I got following error when tried EJB client API approach:

      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:662)

              at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:307)

              at javax.naming.InitialContext.getEnvironment(InitialContext.java:544)

       

      Here is the code that thrown exception:

      try {

                  final Hashtable<String, String> jndiProperties = new Hashtable();

                  jndiProperties.put(Context.URL_PKG_PREFIXES, "org.jboss.ejb.client.naming");

                      ctx = new InitialContext(jndiProperties);

                  } catch (NamingException ex) {

                      throw new RuntimeException("Could not create initial context using supplied context properties", ex);

                  }

              }

             

      try {

            logger.info("@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ CTX: " + ctx.getEnvironment().toString());  // It is thown at this line

        } catch (NamingException e) {

        // TODO Auto-generated catch block

        e.printStackTrace();

        }

       

      return ctx;

       

      jboss-ejb-client.properties:

      endpoint.name=client-endpoint

      remote.connectionprovider.create.options.org.xnio.Options.SSL_ENABLED=false

       

      remote.connections=default

       

      remote.connection.default.host=localhost

      remote.connection.default.port = 8080

      remote.connection.default.connect.options.org.xnio.Options.SASL_POLICY_NOANONYMOUS=false

       

      remote.connection.default.username=admin

      remote.connection.default.password=admin

       

      What's wrong here?