1

我试图在 Netbean 平台应用程序模块中创建一个 ejb 客户端,以调用部署在 glassfish 中的 ejb。

我已经从我的 ejb 服务器应用程序中添加了所有必需的 jar 文件和所需的 glashfish jar。appserv-rt.jar、javaee.jar、gf-client.jar。

以下代码在从独立 java 应用程序调用时工作正常,但是当我尝试从 netbeans platfrom 应用程序模块调用它时,我无法获取上下文。

是否需要任何特定于 netbean 平台的配置?

 try {
       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"
        );

       props.setProperty("org.omg.CORBA.ORBInitialHost", "127.0.0.1");
       props.setProperty("org.omg.CORBA.ORBInitialPort","3700");

       InitialContext ctx = new InitialContext (props);
       MySessionBeanRemote mySessionBean=
                             (MySessionBeanRemote)ctx
                                 .lookup("sessions.MySessionBeanRemote");


      Userprofile user = new Userprofile();
        user.setActive('A');
        user.setDescription("some desc");
        user.setEmail("abc");
        user.setFirstname("xyz");
        user.setLastname("123");
        user.setPassword("pwd");
        user.setStatus("Enabled");
        user.setUserid(Long.valueOf(25));

        user.setUsername("abc");
        mySessionBean.persist(user);
      } catch (javax.naming.NamingException ne) {
        ne.printStackTrace();

    } catch (Exception e) {
        e.printStackTrace();
    }
4

1 回答 1

0

这不是一件容易的事。看看本教程,它有点旧,但仍然适用。

于 2011-07-04T07:52:10.680 回答