Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Проблемы с Naming Service


А. Н. Оним   ©   (2002-07-29 09:38:00) 

Привет всем, в мире CORBA я сравнительно недавно и натолкнулся на непонятную для себя ошибку с ипользованием Naming Service с первых шагов.
 В двух словах - не могу достучаться до NameService'а как такового вообще. Выполняю следующую последовательность действий (работаю под C++ Builder 6, VisiBroker 4.5, OS - Win2000 Professional):
*  Запускаю Smart Agent
*  Запускаю NameService  (Smart Agent репортует о его появлении)
*  Выполняю примерно следующую последовательность в программе    
  CORBA::ORB_var orb = CORBA::ORB_init(argc, argv);
  CORBA::Object_var POAObject = orb->resolve_initial_references("NameService");
* Получаю Exception, что-то вроде того, что не существует никакого   NameService.
--------
Примеры с VisiBroker на Naming Service также не работают. VisiBroker ставился со всеми параметрами по умолчанию. В чём же дело? Расскажите пожалуйста!


epflorov   (2002-07-29 22:15:00) [1]

Здравствуйте.

Я только однажды использовал INS из visibroker'а. (правда удачно) Поэтому отнеситесь к моим советам с определенной долей иронии.

Существует несколько стандартных механизмов указания ссылки на INS получаемой с помощью resolve_initial_references. Поэтому имеет смысл попробовать их.
1. В командной строке к приложению (это важно, что к серверу и клиенту) указать параметр -ORBInitRef NameService=corbaloc или -ORBInitRef NameService=corbaname (формирование corbaloc или corbaname описано в стандарте на CORBA Раздел "13.6.10 Object URLs")
В качестве примера в документации на visibroker приводятся:
<client_application> -ORBInitRef NameService=iioploc://TestHost:20002/NameService
<client_application> -ORBInitRef NameService=iiopname://TestHost:20003/
2. Можно использовать в параметрах приложения -ORBDefaultInitRef
Пример:
<client_application> -ORBDefaultInitRef iioploc://TestHost:20002
Разницы между 1 и 2 не помню.
3. По-моему тоже самое (1 или 2) можно сделать в файлах конфигурации

Лично я использую запись ORBInitRef NameService=corbaname::localhost в файле конфигурации для omniORB. (в случае если программа и INS запущены в пределах одной машины).

Удачи.


Наверх

Титульная страница Поиск, карта сайта Написать письмо