Служба имен CORBA возвращает неправильное местоположение зарегистрированного объекта
Вопрос
У меня есть простая установка с несколькими объектами, зарегистрированными в orbd.Удаленный клиент инициализирует соединение с ORB и пытается разрешить ссылку на службу именования (IDL:omg.org/CosNaming/NamingContextExt:1.0).Пока все в порядке — ORB возвращает пару giop.iiop.host/giop.iiop.port.Когда ссылка на службу имен разрешена, клиент пытается solve_str() один из зарегистрированных объектов.На этот раз служба именования возвращает для объекта совершенно другую пару giop.iiop.host/giop.iiop.port (а не хост/порт службы именования) — я ничего о них не знаю.Когда клиент пытается вызвать метод разрешенного объекта, это не удается, поскольку пара хост/порт не настроена в брандмауэре.Не могли бы вы объяснить, почему это происходит?
Заранее спасибо!
Решение
Я столкнулся с той же проблемой, когда однажды переместил ORB с одного хоста на другой.Контекст был кэширован, и служба именования отвечала местоположением/портом предыдущего хоста.Если это так, попробуйте удалить /orb.db - должно помочь.