/*
* This example is from the book "Java Enterprise in a Nutshell".
* Copyright (c) 1999 by O'Reilly & Associates.
* You may distribute this source code for non-commercial purposes only.
* You may study, modify, and use this example for any purpose, as long as
* this notice is retained. Note that this example is provided "as is",
* WITHOUT WARRANTY of any kind either expressed or implied.
*/
import org.omg.CORBA.*;
import org.omg.CosNaming.*;
import com.sun.CORBA.iiop.*;
public class DIIClient {
public static void main(String argv[]) {
org.omg.CORBA.ORB myORB = org.omg.CORBA.ORB.init(argv, null);
org.omg.CORBA.ORB singleORB = org.omg.CORBA.ORB.init();
try {
org.omg.CORBA.Object ncRef =
myORB.resolve_initial_references("NameService");
NamingContext nc = NamingContextHelper.narrow(ncRef);
NameComponent nComp = new NameComponent("Server", "");
NameComponent[] path = {nComp};
org.omg.CORBA.Object objRef = nc.resolve(path);
// Make a dynamic call to the doThis method
// First build the argument list. In this case, there's a single String
// argument to the method.
Request thisReq = objRef._request("doThis");
Any arg1 = thisReq.add_in_arg();
arg1.insert_string("something");
// Invoke the method...
thisReq.invoke();
Any result = thisReq.return_value();
System.out.println("doThis() returned: " + result.extract_string());
}
catch (Exception e) {
e.printStackTrace();
}
}
}
|