java - 使用 CORBA 连接客户端(在 VirtualBox 上)和服务器(在本地主机上)- org.omg.CORBA.BAD_PARAM :

标签 java c++ virtualbox corba

我现在正在使用 Java/C++ 和 CORBA 开发简单的图形用户界面应用程序。我希望 VirtualBox 上的客户端连接到本地主机上的服务器。当我有一个简单的应用程序时,比如我之前写过的计算器,它就很好。但是当涉及到运行需要一些 args witch javas -cp 选项的客户端时,我遇到了错误。 (当我在本地主机上同时拥有客户端和服务器时,就没有这样的问题!)我在 VirtualBox 上使用 Win XP,在本地主机上使用 Ubuntu。

我的错误:

WARNING: "IOP00100007: (BAD_PARAM) string_to_object conversion failed due to bad
 scheme name"
org.omg.CORBA.BAD_PARAM:   vmcid: OMG  minor code: 7  completed: No
        at com.sun.corba.se.impl.logging.OMGSystemException.soBadSchemeName(Unkn
own Source)
        at com.sun.corba.se.impl.logging.OMGSystemException.soBadSchemeName(Unkn
own Source)
        at com.sun.corba.se.impl.resolver.INSURLOperationImpl.operate(Unknown So
urce)
        at com.sun.corba.se.impl.resolver.ORBInitRefResolverImpl.resolve(Unknown
 Source)
        at com.sun.corba.se.impl.resolver.CompositeResolverImpl.resolve(Unknown
Source)
        at com.sun.corba.se.impl.resolver.CompositeResolverImpl.resolve(Unknown
Source)
        at com.sun.corba.se.impl.orb.ORBImpl.resolve_initial_references(Unknown
Source)
        at ClientConnection.connect(ClientConnection.java:57)
        at Client.main(Client.java:295)

Exception in thread "main" org.omg.CORBA.BAD_PARAM:   vmcid: OMG  minor code: 7
 completed: No
        at com.sun.corba.se.impl.logging.OMGSystemException.soBadSchemeName(Unkn
own Source)
        at com.sun.corba.se.impl.logging.OMGSystemException.soBadSchemeName(Unkn
own Source)
        at com.sun.corba.se.impl.resolver.INSURLOperationImpl.operate(Unknown So
urce)
        at com.sun.corba.se.impl.resolver.ORBInitRefResolverImpl.resolve(Unknown
 Source)
        at com.sun.corba.se.impl.resolver.CompositeResolverImpl.resolve(Unknown
Source)
        at com.sun.corba.se.impl.resolver.CompositeResolverImpl.resolve(Unknown
Source)
        at com.sun.corba.se.impl.orb.ORBImpl.resolve_initial_references(Unknown
Source)
        at ClientConnection.connect(ClientConnection.java:57)
        at Client.main(Client.java:295)
make[1]: *** [run] Error 1

ClientConnection.java:57 是一行 objRef = clientORB.resolve_initial_references("NameService"); Client.java:295是一行:ClientConnection.connect(args);

connect 方法只是一个普通的客户端连接 corba 代码。

我运行了我的示例:

1) C:\Temp\Client>java -cp .:../Dir1:../Dir2 Client -ORBInitRef NameService =corbaloc::192.168.56.1:2809/名称服务 错误:无法找到或加载主类客户端,所以它甚至根本没有运行..

2) 在 Makefile 的帮助下:

HOST = 192.168.56.1
PORT = 2809
NAMESERVICE = NameService

run:
    java -cp .:../Dir1:../Dir2 Client -ORBInitRef NameService=corbaloc::$(HOST):$(PORT)/$(NAMESERVICE) 

通过键入 make run 然后我得到了我之前发布的那些错误。怎么了?我的意思是,一个简单的代码可以正常工作,但 gui 版本不想... -cp 选项有问题吗?我无法更改我的应用程序的目录树。

最佳答案

我个人认为您有两个问题。

  1. 类路径。您是否在 .Dir1Dir2 中有一个名为 Client.class 的文件。如果没有,寻找它并将它的目录添加到类路径中。如果在,请提供更多信息

  2. CORBA 的东西;我想看看你的 Orb.init(); 调用。其他一切看起来都不错。

关于java - 使用 CORBA 连接客户端(在 VirtualBox 上)和服务器(在本地主机上)- org.omg.CORBA.BAD_PARAM :,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12924713/

相关文章:

java - 从 kafka 消费者向服务发出 100 万个单独的 http 请求是个好主意吗?

java - 使用检测文件运行 Jetty (cobertura)

Java key 监听器不工作

c++ - 子弹物理因引用无效而崩溃?

c++ - 汇编中可变参数的有效模式

c++ - 为什么此递归没有得到其基本情况?

python - 从 Python 脚本启动 VirtualBox VM

linux - VirtualBox 安装过程中屏幕分辨率太小

java - java ee 6 堆栈与 spring 框架有什么区别?

virtualbox - Virtual Box 错误 - (VERR_NOT_SUPPORTED) for\Users\name\Downloads\xubuntu-12.10-desktop-i386.iso.torrent 图像文件