//Hello.idl
module HelloApp
{
interface Hello{
string sayHello();
};
};//HelloServer.java
import HelloApp.*;
import java.util.*;import org.omg.CosNaming.*;
import org.omg.CosNaming.NamingContextPackage.*;
import org.omg.CORBA.*;public class HelloServer{
public static void main(String[] args){
try{
//ORB orb = ORB.init(args, null);
Properties props = new Properties();
props.put("org.omg.CORBA.ORBInitialPort", "1050");
ORB orb = ORB.init(args, props);
HelloServant helloRef = new HelloServant();
orb.connect(helloRef);
org.omg.CORBA.Object objRef = orb.resolve_initial_references("NameService");
NamingContext ncRef = NamingContextHelper.narrow(objRef);
//registeering the servant with the name server
NameComponent nc = new NameComponent("Hello", "");
NameComponent path[] = {nc};
ncRef.rebind(path, helloRef);
java.lang.Object sync = new java.lang.Object();
synchronized(sync){
sync.wait();
}
}catch(Exception e){
System.out.println("ERROR: " + e);
e.printStackTrace(System.out);
}
}
}class HelloServant extends _HelloImplBase{
public String sayHello(){
return "\nHello world!!\n";
}
}
//HelloClient.java
import HelloApp.*;
import org.omg.CosNaming.*;
import org.omg.CORBA.*;public class HelloClient{
public static void main(String[] args){
try{
ORB orb = ORB.init(args, null);
org.omg.CORBA.Object objRef = orb.resolve_initial_references("NameService");
NamingContext ncRef = NamingContextHelper.narrow(objRef);
NameComponent nc = new NameComponent("Hello","");
NameComponent path[] = {nc};
Hello helloRef = HelloHelper.narrow(ncRef.resolve(path));
String hello = helloRef.sayHello();
System.out.println(hello);
}catch(Exception e){
System.out.println("ERROR: " + e);
e.printStackTrace(System.out);
}
}
}运行HelloServer时出现:
ERROR: org.omg.CORBA.INITIALIZE: can't instantiate default ORB implementation com.inprise.vbroker.orb.ORB minor code: 0 completed: No
org.omg.CORBA.INITIALIZE: can't instantiate default ORB implementation com.inprise.vbroker.orb.ORB minor code: 0 completed: No
at org.omg.CORBA.ORB.create_impl(ORB.java:286)
at org.omg.CORBA.ORB.init(ORB.java:328)
at HelloServer.main(HelloServer.java:11)
谢谢帮忙
module HelloApp
{
interface Hello{
string sayHello();
};
};//HelloServer.java
import HelloApp.*;
import java.util.*;import org.omg.CosNaming.*;
import org.omg.CosNaming.NamingContextPackage.*;
import org.omg.CORBA.*;public class HelloServer{
public static void main(String[] args){
try{
//ORB orb = ORB.init(args, null);
Properties props = new Properties();
props.put("org.omg.CORBA.ORBInitialPort", "1050");
ORB orb = ORB.init(args, props);
HelloServant helloRef = new HelloServant();
orb.connect(helloRef);
org.omg.CORBA.Object objRef = orb.resolve_initial_references("NameService");
NamingContext ncRef = NamingContextHelper.narrow(objRef);
//registeering the servant with the name server
NameComponent nc = new NameComponent("Hello", "");
NameComponent path[] = {nc};
ncRef.rebind(path, helloRef);
java.lang.Object sync = new java.lang.Object();
synchronized(sync){
sync.wait();
}
}catch(Exception e){
System.out.println("ERROR: " + e);
e.printStackTrace(System.out);
}
}
}class HelloServant extends _HelloImplBase{
public String sayHello(){
return "\nHello world!!\n";
}
}
//HelloClient.java
import HelloApp.*;
import org.omg.CosNaming.*;
import org.omg.CORBA.*;public class HelloClient{
public static void main(String[] args){
try{
ORB orb = ORB.init(args, null);
org.omg.CORBA.Object objRef = orb.resolve_initial_references("NameService");
NamingContext ncRef = NamingContextHelper.narrow(objRef);
NameComponent nc = new NameComponent("Hello","");
NameComponent path[] = {nc};
Hello helloRef = HelloHelper.narrow(ncRef.resolve(path));
String hello = helloRef.sayHello();
System.out.println(hello);
}catch(Exception e){
System.out.println("ERROR: " + e);
e.printStackTrace(System.out);
}
}
}运行HelloServer时出现:
ERROR: org.omg.CORBA.INITIALIZE: can't instantiate default ORB implementation com.inprise.vbroker.orb.ORB minor code: 0 completed: No
org.omg.CORBA.INITIALIZE: can't instantiate default ORB implementation com.inprise.vbroker.orb.ORB minor code: 0 completed: No
at org.omg.CORBA.ORB.create_impl(ORB.java:286)
at org.omg.CORBA.ORB.init(ORB.java:328)
at HelloServer.main(HelloServer.java:11)
谢谢帮忙
你按照下面说的看行不行,把以下代码:
//ORB orb = ORB.init(args, null);
Properties props = new Properties();
props.put("org.omg.CORBA.ORBInitialPort", "1050");
ORB orb = ORB.init(args, props);
改成:
ORB orb = ORB.init(args, props);
然后,启动NameService
tnameserv -ORBInitialPort 1050
接着运行服务器端程序:
java HelloServer -ORBInitialPort 1050
然后运行客户端。
java HelloClient -ORBInitialPort 1050如果不行,那你告诉我你用的jdk是什么,在什么平台下等一些信息,希望能对你有一些帮助