Java — соединение клиента (на VirtualBox) и сервера (на локальном хосте) с использованием CORBA — org.omg.CORBA.BAD_PARAM:

Сейчас я работаю над простым применением графического интерфейса в Java / C ++ и CORBA. Я хочу, чтобы мой клиент на VirtualBox подключался к серверу на локальном хосте. Когда у меня есть простое приложение, вроде калька, о котором я писал ранее, это просто замечательно. Но когда дело доходит до запуска клиента, который нуждается в аргументах ведьмы -cp вариант, я получаю ошибки. (Нет такой проблемы, когда на локальном хосте есть и клиент, и сервер!) Я использую Win XP на VirtualBox и 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 Метод — это просто обычный клиентский код.

Я запустил мой пример:

1)
C:\Temp\Client>java -cp .:../Dir1:../Dir2 Client -ORBInitRef NameService
=corbaloc::192.168.56.1:2809/NameService
Error: Could not find or load main class Client
так что его даже не работает вообще ..

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 и тогда я получил те ошибки, которые я отправил ранее. В чем дело? Я имею в виду, простой код работает нормально, но версия графического интерфейса не хочет … есть ли проблема с -cp вариант? Я не могу изменить дерево каталогов моих приложений.

1

Решение

Я лично вижу две проблемы, которые у вас есть.

  1. классная вещь. У вас есть файл с именем Client.class в . или же Dir1 или же Dir2, Если нет, поищите его и добавьте его в путь к классам. Если это в, пожалуйста, предоставьте больше информации

  2. Вещь CORBA; Я хотел бы увидеть ваш Orb.init(); вызов. Все остальное выглядит хорошо.

1

Другие решения

Других решений пока нет …