>BalServant* myBal = new BalServant; >obj = poa->create_reference_with_id(myBal, "IDL:Bal:1.0"); The main problem is that you are passing in a servant pointer to a function expecting an ObjectID. First call servant_to_id() to get the ObjectId and then pass that Id into create_reference_with_id(). ScottR