2013-06-25 3 views
1

Я новичок в CORBA. Когда я запускаю следующий код, я получаю:Почему я получаю исключение NamingContextPackage.NotFound?

Исключение в потоке "главный" org.omg.CosNaming.NamingContextPackage.NotFound: IDL: omg.org/CosNaming/NamingContext/NotFound: 1,0

в строке:

ncRef.rebind(factoryName, rootpoa.servant_to_reference(sessionFactoryServant)); 

Код:

final String initHost = System.getProperty("org.omg.CORBA.ORBInitialHost", 
     java.net.InetAddress.getLocalHost().getHostAddress()); 
    if (StringUtils.isNotBlank(initHost) == true) 
    { 
     properties.put("org.omg.CORBA.ORBInitialHost", initHost); 
    } 

    //final String initPort = System.getProperty("org.omg.CORBA.ORBInitialPort"); 
    final String initPort = "1051"; 
    if (StringUtils.isNotBlank(initPort) == true) 
    { 
     properties.put("org.omg.CORBA.ORBInitialPort", initPort); 
    } 

    // Start the ORB. 
    m_orb = ORB.init(m_arguments, properties); 

    POA rootpoa = POAHelper.narrow(m_orb.resolve_initial_references("RootPOA")); 
    rootpoa.the_POAManager().activate(); 

    final RSSessionFactoryServant sessionFactoryServant = new RSSessionFactoryServant(rootpoa); 
    rootpoa.activate_object(sessionFactoryServant); 


    org.omg.CORBA.Object objRef = m_orb 
      .resolve_initial_references("NameService"); 
    System.out.println("Name server is " + objRef + "."); 

    NamingContextExt ncRef = NamingContextExtHelper.narrow(objRef); 
    System.out.println("Naming context is " + ncRef + "."); 

    final NameComponent[] factoryName = getSessionFactory(); // Contains name components.. nothinf seems wrong here 
    System.out.println("Session Factory is [" + ArrayUtils.toString(factoryName) + "]."); 

    ncRef.rebind(factoryName, rootpoa.servant_to_reference(sessionFactoryServant)); 

    System.out.println("Server ready and waiting ..."); 

    m_orb.run(); 
+0

просьба предоставить полную StackTrace – tuergeist

+0

Вы, возможно, придется использовать - ncRef.resolve (factoryName); –

ответ

1

Объект, который вы ищите, не известен службе именования. Поэтому вы получаете исключения NotFound. На первом этапе вы можете использовать bind.

Oracle Doc for NamingContextOperations

+0

Ссылка не работает ... – jh314

+0

Ссылка исправлена ​​для Java 7 doc – tuergeist