要用WEB NMS做一个CORBA的数据采集的一个模块,弄了好几天都弄不出来。哪位大牛能帮一下啊
可能很少有人用过WEB NMS(貌似是美国公司,阿三的技术团队开发的)我就把出的问题和相应的代码贴出来
并且开启了命名服务用命令:tnameserv -ORBInitialPort 1050
代码:ManagementServer ms = ManagementServer.getInstance();
CorbaProperty cprop = new CorbaProperty(); 
cprop.setORBService("NameService"); 
cprop.setORBInitialHost("localhost"); 
cprop.setORBInitialPort("1050"); 
cprop.setNameReference("localhost");//仿真器在本机上 
cprop.setInterfaceName("Money.Accounting"); 
String sessionId = ms.establishSession(cprop); 出现的报错是localhost: Reference not found in the Name Service org.omg.CosNaming.NamingContextPackage.NotFound: IDL:omg.org/CosNaming/NamingContext/NotFound:1.0 at org.omg.CosNaming.NamingContextPackage.NotFoundHelper.read(NotFoundHelper.java:72) at org.omg.CosNaming._NamingContextExtStub.resolve(_NamingContextExtStub.java:406) at com.adventnet.management.corba.CorbaProtocolProvider.establishSession(CorbaProtocolProvider.java:253) at com.adventnet.management.MSSessionHandler.establishSession(MSSessionHandler.java:98) at com.adventnet.management.ManagementServer.establishSession(ManagementServer.java:481) at com.menu.corba_test.setUpProperties(Unknown Source) at com.menu.corba_test.init(Unknown Source) at com.menu.corba_test.setVisible(Unknown Source) at com.adventnet.builder.run.TestApplication.<init>(TestApplication.java:105) at com.adventnet.builder.run.TestApplication.main(TestApplication.java:23)Could not be able to establish session 
我的仿真器用的是Ultra CORBA Simulator,并且仿真器已经开了。各位指点一下吧

解决方案 »

  1.   

    没用过楼主说的哪个CORBA服务器,仔细看看它的文档吧。
      

  2.   

    他们有无提供一个什么IDL工具?你有没有接口文件(***.idl)? 你要用他们给的IDL工具,将***.idl变成skeleton和stub,并分别在服务器段和客户端引用才行。
      

  3.   

    我已经把所有IDL到JAVA的映射加入到了该项目的ClassPath中了,包括各种stub,holder,helper。
      

  4.   

    根据你的报错信息“NamingContextPackage.NotFound”,在你的代码里没有看到有关InitialContext的代码,估计问题出在这里了。由于我不知道你的环境,所以不能给你一个很明确的建议。可以考虑JDK中带的RMI,RMI本身就是简化了的CORBA,对于开发人员来说两者没有太大的不同,建议你先试试RMI(JDK中有很详细的例子),然后再来看看你现在的问题。
      

  5.   

    它是一个封装好了的平台,我想从底层ORB那开始做,但只要实例化一个ORB就直接报错,说没用它的封装好的东西。根本不让我有机会InitialContext