package org.jacorb.demo.corbaloc; import org.omg.CORBA.*; import java.io.*; public class Client { private static ORB orb; public static void main(String args[]) { if (args.length != 1) { System.out.println("Usage: jaco demo.hello.Client <corbaloc>"); System.exit(1); } // initialize the ORB. orb = ORB.init( new String[]{}, null ); callServer (args[0] + ".persistent"); callServer (args[0] + ".transient"); // Lets call the known short object key System.out.println ("Calling server using short key form..."); org.omg.CORBA.Object obj = orb.string_to_object("corbaloc:iiop:127.0.0.1:6969/VeryShortKey"); // and narrow it to HelloWorld.GoodDay // if this fails, a BAD_PARAM will be thrown GoodDay goodDay = GoodDayHelper.narrow( obj ); // invoke the operation and print the result System.out.println( goodDay.hello_simple() ); goodDay.shutdown(); } private static void callServer (String args) { try { File f = new File( args); //check if file exists if( ! f.exists() ) { System.out.println("File " + args + " does not exist."); System.exit( -1 ); } //check if args points to a directory if( f.isDirectory() ) { System.out.println("File " + args + " is a directory."); System.exit( -1 ); } BufferedReader br = new BufferedReader( new FileReader( f )); String ior = br.readLine(); // get object reference from command-line argument file org.omg.CORBA.Object obj = orb.string_to_object( ior ); br.close(); // and narrow it to HelloWorld.GoodDay // if this fails, a BAD_PARAM will be thrown GoodDay goodDay = GoodDayHelper.narrow( obj ); // invoke the operation and print the result System.out.println( goodDay.hello_simple() ); } catch( Exception ex ) { ex.printStackTrace(); } } }