Hi Andrew,
Your plugin is attempting to use an indirect proxy, which requires that the communicator be configured with a locator. However, Ice does not configure the communicator's default locator until
after the plugins are initialized. This is necessary because the locator's proxy might use endpoints that depend on a transport plugin.
You should be able to work around this by manually configuring your proxy with a locator. For example:
Code:
Ice::ObjectPrx obj =
m_com->stringToProxy(props->getProperty("Ice.Default.Locator"));
Ice::LocatorPrx locator = Ice::LocatorPrx::checkedCast(obj);
obj = m_com->stringToProxy(props->getProperty("Log.topicManagerPrx"));
obj = obj->ice_locator(locator);
IceStorm::TopicManagerPrx topicManager =
IceStorm::TopicManagerPrx::checkedCast(obj);
Also note that if your logger uses SSL, you must ensure that the IceSSL plugin is loaded before your logger plugin.
Hope that helps,
Mark