package tpcorba.exo5; import org.omg.CORBA.*; import org.omg.CosNaming.*; import org.omg.CosNaming.NamingContextPackage.*; import java.lang.*; import java.util.*; import java.io.*; public class Client { public static void main(String args[]) throws IOException { ORB orb = ORB.init(args, null); org.omg.CORBA.Object obj = null; // ETAPE 1 // try { obj = orb.resolve_initial_references("NameService"); } catch(org.omg.CORBA.ORBPackage.InvalidName ex) { System.out.println("'NameService' inaccessible"); System.exit(1); } if(obj == null) { System.out.println("Reference nil sur `NameService'"); System.exit(1); } // ETAPE 2 // NamingContext nc = NamingContextHelper.narrow(obj); if(nc == null) { System.out.println("Reference type nil sur `NameService'"); System.exit(1); } try { // ETAPE 3 // NameComponent[] aName = new NameComponent[1]; aName[0] = new NameComponent(); aName[0].id = "etudiant1"; aName[0].kind = "donnee"; // ETAPE 4 // obj=nc.resolve(aName); } catch(CannotProceed ex) { System.out.println("CannotProceed sur resolve"); System.exit(1); } catch(InvalidName ex) { System.out.println("InvalidName sur resolve"); System.exit(1); } catch(NotFound ex) { System.out.println("NotFound sur resolve"); System.exit(1); } // ETAPE 5 // etudiant e1 = etudiantHelper.narrow(obj); if(e1==null) { System.err.println("Erreur sur narrow() "); System.exit(0); } System.out.println("Etudiant1 : " + e1.nom() + " " + e1.prenom()); System.exit(0); } }