Title: JNDI Problem

Hi There

I've got a JNDI problem...I've written a very small ejb session bean..and sucessfully installed it onto orion...I've written a seperate client (stand alone) and got the initial context working. Whenever I try to lookup my bean, I get the following exception...

javax.naming.NamingException: java:comp/env namespace is only available from wit
hin a J2EE component
        at com.sun.enterprise.naming.java.javaURLContext.getComponentContext(jav
aURLContext.java:392)
        at com.sun.enterprise.naming.java.javaURLContext.lookup(javaURLContext.j
ava:51)
        at javax.naming.InitialContext.lookup(InitialContext.java:354)
        at ejbtest.DemoClient.main(DemoClient.java:29)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.borland.jbuilder.util.BootStrap.invokeMain(Unknown Source)
        at com.borland.jbuilder.util.BootStrap.main(Unknown Source)

Please help me on this problem.... Here is my client source:

package ejbtest;

import javax.ejb.*;
import javax.naming.*;
import javax.naming.spi.*;
import java.rmi.*;
import java.util.Properties;
import com.evermind.ejb.*;
import com.evermind.naming.*;
import java.io.*;

public class DemoClient {

 static String user = "admin";
 static String password = "admin";
 static String url = "ormi://localhost/";

 public static void main(String[] args) {
   System.out.println("\nBegin DemoClient...\n");
   parseArgs(args);
   try {
//     Context ctx = getInitialContext();
     DemoHome fssh;
     System.out.println("Initial context");
     Context ctx = getInitialContext();
     System.out.println("Initial context");
     System.out.println("Looking up");

     fssh = (DemoHome) ctx.lookup("java:comp/env/demo");
     System.out.println("Creating Demo\n");
     Demo demo = fssh.create();
     System.out.println("The result is " + demo.demoSelect());
   }
   catch (Exception e) {
    System.out.println(" => Error <=");
    e.printStackTrace();
   }
   System.out.println("\nEnd DemoClient...\n");
 }

 static void parseArgs(String args[]) {
   if ((args == null) || (args.length == 0)) return;
   for (int i = 0; i < args.length; i++) {
     if (args[i].equals("-url")) url = args[++i];
     else if (args[i].equals("-user")) user = args[++i];
     else if (args[i].equals("-password")) password = args[++i];
   }
 }


  static public Context getInitialContext() throws Exception {
    Properties p = new Properties();
    p.put(Context.PROVIDER_URL, url);
                p.put("host", "ormi://localhost/");

    if (user != null) {
      System.out.println ("user: " + user);
      p.put(Context.SECURITY_PRINCIPAL, user);
      if (password == null) password = "";
      p.put(Context.SECURITY_CREDENTIALS, password);
      p.put(Context.INITIAL_CONTEXT_FACTORY, "com.evermind.server.rmi.RMIInitialContextFactory");
//      p.put("java.naming.factory.initial", "com.evermind.server.ApplicationClientInitialContextFactory");
    }
    return new InitialContext(p);
  }
}

THANK YOU!!
----------------------------------------------------------------
MARTIN COETZEE - The talent to make it happen
Java Programmer - CCH (FutureJ)
Email: [EMAIL PROTECTED] (work)
           [EMAIL PROTECTED] (personal)
Tel: 082-9033416                   (Mobile)
       082-1319033416             (Fax)
       011-8043772 - ext 2219 (Work)
Homepage: http://www.crosswinds.net/~martincoetzee/


Reply via email to