Сейчас я работаю над простым применением графического интерфейса в 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
вариант? Я не могу изменить дерево каталогов моих приложений.
Я лично вижу две проблемы, которые у вас есть.
классная вещь. У вас есть файл с именем Client.class
в .
или же Dir1
или же Dir2
, Если нет, поищите его и добавьте его в путь к классам. Если это в, пожалуйста, предоставьте больше информации
Вещь CORBA; Я хотел бы увидеть ваш Orb.init();
вызов. Все остальное выглядит хорошо.
Других решений пока нет …