private static void Main() { string hostName = DemoConfig.Default.busHostName; ushort hostPort = DemoConfig.Default.busHostPort; bool useSSL = DemoConfig.Default.useSSL; string clientUser = DemoConfig.Default.clientUser; string clientThumbprint = DemoConfig.Default.clientThumbprint; string serverUser = DemoConfig.Default.serverUser; string serverThumbprint = DemoConfig.Default.serverThumbprint; ushort serverSSLPort = DemoConfig.Default.serverSSLPort; ushort serverOpenPort = DemoConfig.Default.serverOpenPort; string busIORFile = DemoConfig.Default.busIORFile; if (useSSL) { Utils.InitSSLORB(clientUser, clientThumbprint, serverUser, serverThumbprint, serverSSLPort, serverOpenPort, true, true, "required", false, false); } else { ORBInitializer.InitORB(); } /* * ConsoleAppender appender = new ConsoleAppender { * Threshold = Level.Fatal, * Layout = * new SimpleLayout(), * }; * BasicConfigurator.Configure(appender); */ ConnectionProperties props = new ConnectionPropertiesImpl(); OpenBusContext context = ORBInitializer.Context; Connection conn; if (useSSL) { string ior = File.ReadAllText(busIORFile); conn = context.ConnectByReference((MarshalByRefObject)OrbServices.CreateProxy(typeof(MarshalByRefObject), ior), props); } else { conn = context.ConnectByAddress(hostName, hostPort, props); } context.SetDefaultConnection(conn); const string userLogin = "******"; const string userPassword = userLogin; ASCIIEncoding encoding = new ASCIIEncoding(); conn.LoginByPassword(userLogin, encoding.GetBytes(userPassword), "testing"); GetService(typeof(Messenger)); GetService(typeof(Forwarder)); GetService(typeof(Broadcaster)); conn.Logout(); conn.LoginByPassword(Bill, encoding.GetBytes(Bill), "testing"); _forwarder.setForward(William); _broadcaster.subscribe(); conn.Logout(); conn.LoginByPassword(Paul, encoding.GetBytes(Paul), "testing"); _broadcaster.subscribe(); conn.Logout(); conn.LoginByPassword(Mary, encoding.GetBytes(Mary), "testing"); _broadcaster.subscribe(); conn.Logout(); conn.LoginByPassword(Steve, encoding.GetBytes(Steve), "testing"); _broadcaster.subscribe(); _broadcaster.post(TestMessage); conn.Logout(); Logger.Fatal("Esperando as mensagens propagarem."); Thread.Sleep(10000); Logger.Fatal("Pronto!"); FillExpected(); string[] names = { William, Bill, Paul, Mary, Steve }; foreach (string name in names) { conn.LoginByPassword(name, encoding.GetBytes(name), "testing"); PostDesc[] descs = _messenger.receivePosts(); Actual.Add(name, descs.Length > 0 ? descs : null); _broadcaster.unsubscribe(); conn.Logout(); } conn.LoginByPassword(Bill, encoding.GetBytes(Bill), "testing"); _forwarder.cancelForward(William); conn.Logout(); CheckOutput(); Logger.Fatal( "Teste de interoperabilidade Delegation executado com êxito."); }