0

スタンドアロン クライアントから Glassfish サーバー 4 にデプロイされた jar ファイルを呼び出すリモート EJB をテストしていますが、次のメッセージが表示されます。

Grave: null
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.getURLOrDefaultInitCtx(InitialContext.java:344)
    at javax.naming.InitialContext.lookup(InitialContext.java:411)
    at mx.com.gm.sga.cliente.ClientePersonaService.main(ClientePersonaService.java:39)

私のコードは次のとおりです。

public static void main( String[] args )
{
    System.out.println("------------Calling EJB from a client --------------- ");
    try {
        InitialContext jndi = new InitialContext( );

        PersonaServiceRemote personaService = (PersonaServiceRemote) jndi.lookup( "java:global/sga-jee/PersonaServiceImpl!mx.com.gm.sga.servicio.PersonaServiceRemote" );
        List< Persona > personas = personaService.listarPersonas();
        for (Persona persona : personas) {
            System.out.println( persona );
        }
    } catch (NamingException ex) {
        Logger.getLogger(ClientePersonaService.class.getName()).log(Level.SEVERE, null, ex);
    }

    System.out.println("------------End calling EJB --------------- ");
}
4

2 に答える 2