import sys import CORBA import messenger, messenger__POA class OurSecretMessage(messenger__POA.SecretMessage): def __init__(self, secret_message): """Intialize with the secret message we're going to use. """ self.secret_message = secret_message def get_message(self): return self.secret_message our_message = OurSecretMessage("I don't want any spam!") import sys from omniORB import CORBA sys.argv.extend(("-ORBInitRef", "NameService=corbaname::localhost")) orb = CORBA.ORB_init(sys.argv, CORBA.ORB_ID) poa = orb.resolve_initial_references("RootPOA") poa_manager = poa._get_the_POAManager() poa_manager.activate() import CosNaming name_service_obj = orb.resolve_initial_references("NameService") name_service_root = name_service_obj._narrow(CosNaming.NamingContext) assert name_service_root is not None, "Failed to narrow to NamingContext." message_obj = our_message._this() message_name = [CosNaming.NameComponent("Messenger", "SecretMessage")] print "message_name: {}".format(message_name) try: name_service_root.bind(message_name, message_obj) except: name_service_root.rebind(message_name, message_obj) print "Bound the Message Object to naming service" print "Server is running" orb.run()