Hi Dan,
There are many ways to use a configuration file. The most common way is using the --Ice.Config command line option, such as
$ java MyProgram --Ice.Config=config
You can also load a configuration file programmatically into an Ice.Properties object and then supply that object when calling Ice.Util.initialize:
Code:
Ice.InitializationData id = new Ice.InitializationData();
id.properties = Ice.Util.createProperties();
id.properties.load("config");
Ice.Communicator ic = Ice.Util.initialize(id);
Chapter 30 of the Ice manual describes the use of properties and configuration files in detail.
Regarding the LOTFVigra.Proxy property, I believe your client should be passing the value of this property to stringToProxy:
Code:
String proxy = communicator.getProperties().getProperty("LOTFVigra.Proxy");
Ice.ObjectPrx base = communicator.stringToProxy(proxy);
In Ice 3.2, there's an even easier way to convert a stringified proxy contained in a property into a proxy object:
Code:
Ice.ObjectPrx base = communicator.propertyToProxy("LOTFVigra.Proxy");
You are getting Ice.ObjectNotExistException because you are attempting to use a proxy that contains your application-specific identity (IMAQ) and the endpoint of the locator. No such object exists in the locator service, so the Ice run time raises that exception. If this is the identity of a well-known object, you can use stringToProxy("IMAQ"). See chapters 32 and 38 for more information on using the locator service.
Hope that helps,
- Mark