powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Как вызвать удалённый метод в EJB из GUI приложения?
25 сообщений из 69, страница 2 из 3
Как вызвать удалённый метод в EJB из GUI приложения?
    #37668343
Niky4000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Лазию по всему Internet'у. Везде все советуют указывать classpath. Например, тут: http://forum.vingrad.ru/forum/topic-308037/view-all.html

У меня теперь есть 2 работающих из под NetBeans проекта.
Пробую так:

java -classpath "C:\Program Files\glassfish-3.1.1\glassfish\lib\gf-client.jar" -jar "G:\Java\MyRMI\EJBClient\dist\EJBClient.jar"

java -classpath "C:\Program Files\glassfish-3.1.1\glassfish\lib\gf-client.jar" -jar "G:\Java\MyRMI\ForumExample\MyEnterpriseApplication\MyEnterpriseApplication\build\EJBClientEnterprise.jar"

Ошибки все те же самые.

Или что-то не так опять я делаю? Или надо как-то по-другому этот classpath задавать?
...
Рейтинг: 0 / 0
Как вызвать удалённый метод в EJB из GUI приложения?
    #37668457
Niky4000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всё, я в тупике.
Код: sql
1.
java -classpath "C:\Program Files\glassfish-3.1.1\glassfish\lib\gf-client.jar" -jar "G:\Java\MyRMI\ForumExample\MyEnterpriseApplication\MyEnterpriseApplication\build\EJBClientEnterprise.jar"


Пришёл к одному и тому же и в Enterprise Application и в обычном Stand Alone Application:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
java.lang.NullPointerException
	at com.sun.enterprise.naming.impl.SerialContext.getORB(SerialContext.java:365)
	at com.sun.enterprise.naming.impl.SerialContext.getProviderCacheKey(SerialContext.java:372)
	at com.sun.enterprise.naming.impl.SerialContext.getRemoteProvider(SerialContext.java:402)
	at com.sun.enterprise.naming.impl.SerialContext.getProvider(SerialContext.java:347)
	at com.sun.enterprise.naming.impl.SerialContext.lookup(SerialContext.java:504)
	at com.sun.enterprise.naming.impl.SerialContext.lookup(SerialContext.java:455)
	at javax.naming.InitialContext.lookup(Unknown Source)
	at ejbcliententerprise.Main.main(Main.java:54)
javax.naming.NamingException: Lookup failed for 'java:global/MyEnterpriseApplication/MyEnterpriseApplication-ejb/Hello' in SerialContext[myEnv={org.omg.CORBA.ORBInitialPort=3700, java.naming.factory.initial=com.sun.enterprise.naming.SerialInitContextFactory, org.omg.CORBA.ORBInitialHost=127.0.0.1, java.naming.factory.state=com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl, java.naming.factory.url.pkgs=com.sun.enterprise.naming} [Root exception is javax.naming.NamingException: Unable to acquire SerialContextProvider for SerialContext[myEnv={org.omg.CORBA.ORBInitialPort=3700, java.naming.factory.initial=com.sun.enterprise.naming.SerialInitContextFactory, org.omg.CORBA.ORBInitialHost=127.0.0.1, java.naming.factory.state=com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl, java.naming.factory.url.pkgs=com.sun.enterprise.naming} [Root exception is java.lang.NullPointerException]]
	at com.sun.enterprise.naming.impl.SerialContext.lookup(SerialContext.java:518)
	at com.sun.enterprise.naming.impl.SerialContext.lookup(SerialContext.java:455)
	at javax.naming.InitialContext.lookup(Unknown Source)
	at ejbcliententerprise.Main.main(Main.java:54)
Caused by: javax.naming.NamingException: Unable to acquire SerialContextProvider for SerialContext[myEnv={org.omg.CORBA.ORBInitialPort=3700, java.naming.factory.initial=com.sun.enterprise.naming.SerialInitContextFactory, org.omg.CORBA.ORBInitialHost=127.0.0.1, java.naming.factory.state=com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl, java.naming.factory.url.pkgs=com.sun.enterprise.naming} [Root exception is java.lang.NullPointerException]
	at com.sun.enterprise.naming.impl.SerialContext.getProvider(SerialContext.java:352)
	at com.sun.enterprise.naming.impl.SerialContext.lookup(SerialContext.java:504)
	... 3 more
Caused by: java.lang.NullPointerException
	at com.sun.enterprise.naming.impl.SerialContext.getORB(SerialContext.java:365)
	at com.sun.enterprise.naming.impl.SerialContext.getProviderCacheKey(SerialContext.java:372)
	at com.sun.enterprise.naming.impl.SerialContext.getRemoteProvider(SerialContext.java:402)
	at com.sun.enterprise.naming.impl.SerialContext.getProvider(SerialContext.java:347)
	... 4 more


Ошибка одинаковая.
Выхода из неё не вижу.

Задам вопрос по-другому:
Хоть кто-нибудь когда-нибудь создавал подобные приложения? Они работают? И если создавал и работают, то на чём? На Glassfish?
Я перепробовал всё classpath задавал как переменную окружения, вставлял в командную строку, подключал и отключал библиотеки в куче разных комбинаций - облазил весь Internet и нигде я не увидел, чтоб кто-то решил это и написал, что у него получилось.
...
Рейтинг: 0 / 0
Как вызвать удалённый метод в EJB из GUI приложения?
    #37668463
Niky4000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
GregTk
А вот вы говорите по JBoss. А на JBoss вы делали это - удалённый GUI, который вызывает метод EJB на JBoss'е?
...
Рейтинг: 0 / 0
Как вызвать удалённый метод в EJB из GUI приложения?
    #37668480
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
OFF/2
авторИх там почти 200. Вы после каждой убранной библиотеки будете проводить полнообъемное тестирование?
хорошо при статике.exe в виндах. При загрузке Ось проверяет сама все зависимости и выдаёт что не хватает (Handle.dll). Правда тоже по одной, а не списком :)
...
Рейтинг: 0 / 0
Как вызвать удалённый метод в EJB из GUI приложения?
    #37668524
GregTk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Niky4000,

Делал для версии Jboss 4.2.3 и Jboss 5.1, всё отлично работало. Как там в JBoss 6.0 незнаю, но там я уверен тоже самое.
...
Рейтинг: 0 / 0
Как вызвать удалённый метод в EJB из GUI приложения?
    #37668574
Фотография 1024
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Niky4000,

ты должен перечислить в ключе ВСЕ библиотеки. И всё.
...
Рейтинг: 0 / 0
Как вызвать удалённый метод в EJB из GUI приложения?
    #37668606
Niky4000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В смысле ВСЕ?

Вот как я перечислял:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
java -classpath "C:\Program Files\glassfish-3.1.1\glassfish\lib\gf-client.jar" -jar "G:\Java\MyRMI\ForumExample\MyEnterpriseApplication\MyEnterpriseApplication\build\EJBClientEnterprise.jar"

java -classpath "C:\Program Files\glassfish-3.1.1\glassfish\lib\gf-client.jar; C:\Program Files\glassfish-3.1.1\glassfish\lib\appserv-rt.jar; C:\Program Files\glassfish-3.1.1\glassfish\lib\javaee.jar; C:\Program Files\glassfish-3.1.1\glassfish\lib\jndi-properties.jar; C:\Program Files\glassfish-3.1.1\glassfish\lib\glassfish-naming.jar" -jar "G:\Java\MyRMI\ForumExample\MyEnterpriseApplication\MyEnterpriseApplication\build\EJBClientEnterprise.jar"

java -cp "C:\Program Files\glassfish-3.1.1\glassfish\lib\gf-client.jar; C:\Program Files\glassfish-3.1.1\glassfish\lib\appserv-rt.jar; C:\Program Files\glassfish-3.1.1\glassfish\lib\javaee.jar; C:\Program Files\glassfish-3.1.1\glassfish\lib\jndi-properties.jar; C:\Program Files\glassfish-3.1.1\glassfish\lib\glassfish-naming.jar" -jar "G:\Java\MyRMI\ForumExample\MyEnterpriseApplication\MyEnterpriseApplication\build\EJBClientEnterprise.jar"


java -cp "C:\Program Files\glassfish-3.1.1\glassfish\lib\gf-client.jar; C:\Program Files\glassfish-3.1.1\glassfish\lib\appserv-rt.jar; C:\Program Files\glassfish-3.1.1\glassfish\lib\javaee.jar; C:\Program Files\glassfish-3.1.1\glassfish\lib\jndi-properties.jar; C:\Program Files\glassfish-3.1.1\glassfish\lib\glassfish-naming.jar" -jar G:\Java\MyRMI\EJBClient\dist\EJBClient.jar



Результат одинаковый во всех случаях. Ведь так же надо перечислять или как-то по-другому?
...
Рейтинг: 0 / 0
Как вызвать удалённый метод в EJB из GUI приложения?
    #37668657
vas0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Niky4000,

Я когда то запускал на GlassFish, чисто в целях эксперимента.
Код: java
1.
2.
3.
4.
public class Application {
    @EJB
    private static HelloWorld service;
}

Фактически в этом коде у тебя кто - то, должен сделать injection. И вместо интерфейса у тебя должно должна здесь появиться работающая заглушка, которая будет отвечать за взаимодействие с сервером. Вообщем то насколько я понимаю, модификацией class path ты эту проблему никогда не решишь.

Фактически тебе нужно:
1 получить стабы, они генерируються при деплое приложения.
2 запустить Application Client Container
3 запуситить свое приложение.

В той ссылке которую я приводил, была же последовательность команд (примерно так я и делал)
asadmin deploy --retrieve localdir/ --force dist/EnterpriseApplication.ear
asadmin get-client-stubs --appname EnterpriseApplication localdir
appclient -jar localdir/EnterpriseApplicationClient.jar
...
Рейтинг: 0 / 0
Как вызвать удалённый метод в EJB из GUI приложения?
    #37668780
Niky4000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vas0
Спасибо ВАМ ОГРОМНОЕ!!!
Кажется что-то получается!!!

Выполнил вот эти 3 команды:
Код: sql
1.
2.
3.
asadmin deploy --retrieve D:\Java\MyEJB\Enterprise1 --force D:\Java\MyEJB\Enterprise1\Enterprise1\dist\Enterprise1.ear
asadmin get-client-stubs --appname Enterprise1 D:\Java\MyEJB\Enterprise1
appclient -jar D:\Java\MyEJB\Enterprise1\Enterprise1Client.jar



Я распечатал эту инструкцию и ещё раз внимательно всё по ней сделал.

Почему-то в предыдущий раз asadmin запросил у меня пароль на доступ к GlassFish. А я его не знал. И перепробовал всякие варианты - admin, adminadmin, 1, asadmin... но ничего не помогало!
Потом я зашёл в админпанель GlassFish'а и сменил пароль там. Команда выполнилась, но с исключениями какими-то и после этого у меня что-то с GlassFish'ем началось - NetBeans перестал с ним дружить.

Я переставил GlassFish.

Потом я решил сделать это под VirtualBox'ом, предварительно сделав snapshot.
Вроде получилось, но мне надо это осознать - как получилось.

А откуда Enterprise-клиент будет знать с каким сервером ему соединяться?
Наверное, надо указать дополнительные параметры команды asadmin, такие как host и port?
Получается, что asadmin "настраивает" Enterprise Application Client'ов?
Это такая скажем так "жёсткая" настройка получается.

Надо будет на каждом клиенте выполнять эти команды каждый раз, когда необходимо настроить на соединение с определённым сервером.

А на Linux'овых клиентах надо будет аналогичный действия проводить?

А в той ссылке http://blogs.steeplesoft.com/2011/02/java-ees-buried-treasure-the-application-client-container/
Что там автор имел ввиду, когда говорилось "Хватит GUI! Дайте мне XML!"? Это он о чём вообще? Про Maven какой-то... Я посмотрел у себя - в своих проектах - нет у меня ничего подобного - у меня довольно-таки компактые Minifest'ы.

Наверное, завтра попробую переделать это под удалённый сервер. А то сегодня я уже целый день за компом сижу... очень сильно устал.
...
Рейтинг: 0 / 0
Как вызвать удалённый метод в EJB из GUI приложения?
    #37668945
vas0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Niky4000,

Так и не понял получилось у тебя что-нибудь или нет. Главное чтобы был прогресс. Кто в Java в EJB разобрался, тот в цирке не смеется.

Я тут попробовал небольшой пример накидать, такой же как у тебя. После того как задеплоишь приложение появятся стабы ({glassfish.home}\domains\domain1\generated\xml\j2ee-apps\TestEAR\TestEARClient.jar)

Ну и запуск "appclient -client TestEARClient.jar"
...
Рейтинг: 0 / 0
Как вызвать удалённый метод в EJB из GUI приложения?
    #37669044
Niky4000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторЯ тут попробовал небольшой пример накидать, такой же как у тебя. После того как задеплоишь приложение появятся стабы ({glassfish.home}\domains\domain1\generated\xml\j2ee-apps\TestEAR\TestEARClient.jar)
А проект сам где?
Ну, ладно.
Я думаю у меня получилось. просто своим глазам уже не верю.

Прилагаю картинку ещё одну.

Кстати, в {glassfish.home}\domains\domain1\generated\xml тоже что-то есть, но stub у меня лежит рядом с проектом, так как в deploy-команде я указывал D:\Java\MyEJB\Enterprise1, то так stub у меня и лежит.

А если мне надо будет, например, перенастроить моё приложение на работу с другим сервером, то опять генерировать stub'ы в командной строке?
...
Рейтинг: 0 / 0
Как вызвать удалённый метод в EJB из GUI приложения?
    #37669082
vas0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Niky4000,

Все, увидил что у тебя все заработало. Поздраляю.

Параметры для работы с удаленным сервером (host и port) задаются при запуске "appclient ...", а не при генерации stub-ов "asadmin ...". У меня GlassFish достачно древний и "appclient -help" не работает и даже заведен такой дефект , но дефект вроде как уже давно исправлен.
...
Рейтинг: 0 / 0
Как вызвать удалённый метод в EJB из GUI приложения?
    #37669491
Niky4000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ну, да. Вроде работает, но только ваше приложение у меня почему-то не запустилось - вывалили вот такие ошибки:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
java.lang.reflect.InvocationTargetException
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at sun.instrument.InstrumentationImpl.loadClassAndStartAgent(Unknown Source)
	at sun.instrument.InstrumentationImpl.loadClassAndCallPremain(Unknown Source)
Caused by: java.lang.NoClassDefFoundError: Lserver/HelloWorld;
	at java.lang.Class.getDeclaredFields0(Native Method)
	at java.lang.Class.privateGetDeclaredFields(Unknown Source)
	at java.lang.Class.getDeclaredField(Unknown Source)
	at com.sun.enterprise.deployment.util.DefaultDOLVisitor.acceptWithCL(DefaultDOLVisitor.java:354)
	at com.sun.enterprise.deployment.util.EjbBundleValidator.accept(EjbBundleValidator.java:192)
	at com.sun.enterprise.deployment.ApplicationClientDescriptor.visit(ApplicationClientDescriptor.java:662)
	at com.sun.enterprise.deployment.archivist.AppClientArchivist.validate(AppClientArchivist.java:183)
	at org.glassfish.appclient.client.acc.FacadeLaunchable.validateDescriptor(FacadeLaunchable.java:181)
	at org.glassfish.appclient.client.acc.AppClientContainer.completePreparation(AppClientContainer.java:358)
	at org.glassfish.appclient.client.acc.AppClientContainer.prepare(AppClientContainer.java:319)
	at org.glassfish.appclient.client.AppClientFacade.prepareACC(AppClientFacade.java:278)
	at org.glassfish.appclient.client.acc.agent.AppClientContainerAgent.premain(AppClientContainerAgent.java:82)
	... 6 more
Caused by: java.lang.ClassNotFoundException: server.HelloWorld
	at java.net.URLClassLoader$1.run(Unknown Source)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.net.URLClassLoader.findClass(Unknown Source)
	at org.glassfish.appclient.client.acc.ACCClassLoader.findClass(ACCClassLoader.java:212)
	at java.lang.ClassLoader.loadClass(Unknown Source)
	at java.lang.ClassLoader.loadClass(Unknown Source)
	at java.lang.ClassLoader.loadClassInternal(Unknown Source)
	... 18 more
Exception in thread "main" 

FATAL ERROR in native method: processing of -javaagent failed
...
Рейтинг: 0 / 0
Как вызвать удалённый метод в EJB из GUI приложения?
    #37669624
Большой Синий Кит
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Niky4000,

Браво!
Снова ClassNotFoundException! И, как обычно, никаких предположений :))
...
Рейтинг: 0 / 0
Как вызвать удалённый метод в EJB из GUI приложения?
    #37669829
Niky4000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Большой Синий Кит
Ну, в данном случае у меня был только .ear'ник. Действительно, у меня нет идей почему возникли эти исключения. Я вижу только, что не найден класс server.HelloWorld. И всё.
Видимо, ClassNotFoundException - это болезнь какая-то.

Сейчас мне надо поупражняться заливать это на удалённый GlassFish Server. И вызывать удалённый метод на удалённом сервере, а не на localhost. Принципиально это ничем, по идее, не отличается, но надо попробовать.
...
Рейтинг: 0 / 0
Как вызвать удалённый метод в EJB из GUI приложения?
    #37669831
Фотография 1024
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Niky4000Большой Синий Кит

Видимо, ClassNotFoundException - это болезнь какая-то.


тебе несколько раз объяснили что такое ClassNotFoundException но ты настырно занимаешься чем-то другим.
...
Рейтинг: 0 / 0
Как вызвать удалённый метод в EJB из GUI приложения?
    #37669835
GregTk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1024,

+1
...
Рейтинг: 0 / 0
Как вызвать удалённый метод в EJB из GUI приложения?
    #37670140
Niky4000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
тебе несколько раз объяснили что такое ClassNotFoundException но ты настырно занимаешься чем-то другим.
Это Класс не найден. Всё понятно. Подключить его надо через classpath. Но у меня не подключалось. В данном случае у меня был ear'ник от vas0, но почему там ClassNotFoundException я не знаю.


У меня другая проблема.
Надо за'deploy'ть на удалённый GlassFish.
Deploy'ю так:
Код: sql
1.
asadmin --host 172.16.1.250 deploy --retrieve D:\Tasks\Java\Stubs\Enterprise1 --force D:\Tasks\Java\MyEJB\Enterprise1\EnterpriseApplication1\dist\EnterpriseApplication1.ear



Перед этим на удалённом сервере надо выполнить:
Код: sql
1.
asadmin enable-secure-admin


И перезапустить сервер.

Но после выполнения команды:
appclient -jar D:\Tasks\Java\Stubs\Enterprise1\EnterpriseApplication1Client.jar
Вываливается вот это:

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
org.omg.CORBA.COMM_FAILURE: FINE: IOP00410001: Connection failure: socketType: IIOP_CLEAR_TEXT; hostname: localhost; port: 3700  vmcid: OMG  minor code: 1  completed: No
	at sun.reflect.GeneratedConstructorAccessor30.newInstance(Unknown Source)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
	at java.lang.reflect.Constructor.newInstance(Unknown Source)
	at com.sun.corba.ee.spi.orbutil.logex.corba.CorbaExtension.makeException(CorbaExtension.java:248)
	at com.sun.corba.ee.spi.orbutil.logex.corba.CorbaExtension.makeException(CorbaExtension.java:95)
	at com.sun.corba.ee.spi.orbutil.logex.WrapperGenerator.handleFullLogging(WrapperGenerator.java:387)
	at com.sun.corba.ee.spi.orbutil.logex.WrapperGenerator.access$400(WrapperGenerator.java:107)
	at com.sun.corba.ee.spi.orbutil.logex.WrapperGenerator$2.invoke(WrapperGenerator.java:511)
	at com.sun.corba.ee.spi.orbutil.proxy.CompositeInvocationHandlerImpl.invoke(CompositeInvocationHandlerImpl.java:99)
	at $Proxy34.connectFailure(Unknown Source)
	at com.sun.corba.ee.impl.transport.SocketOrChannelConnectionImpl.<init>(SocketOrChannelConnectionImpl.java:257)
	at com.sun.corba.ee.impl.transport.SocketOrChannelConnectionImpl.<init>(SocketOrChannelConnectionImpl.java:270)
	at com.sun.corba.ee.impl.transport.SocketOrChannelContactInfoImpl.createConnection(SocketOrChannelContactInfoImpl.java:129)
	at com.sun.corba.ee.impl.protocol.CorbaClientRequestDispatcherImpl.beginRequest(CorbaClientRequestDispatcherImpl.java:223)
	at com.sun.corba.ee.impl.protocol.CorbaClientDelegateImpl.request(CorbaClientDelegateImpl.java:228)
	at com.sun.corba.ee.impl.protocol.CorbaClientDelegateImpl.is_a(CorbaClientDelegateImpl.java:393)
	at org.omg.CORBA.portable.ObjectImpl._is_a(Unknown Source)
	at org.omg.CosNaming.NamingContextHelper.narrow(Unknown Source)
	at com.sun.enterprise.naming.impl.SerialContext$ProviderCacheKey.getNameService(SerialContext.java:1241)
	at com.sun.enterprise.naming.impl.SerialContext.getRemoteProvider(SerialContext.java:411)
	at com.sun.enterprise.naming.impl.SerialContext.getProvider(SerialContext.java:347)
	at com.sun.enterprise.naming.impl.SerialContext.lookup(SerialContext.java:504)
	at com.sun.enterprise.naming.impl.SerialContext.lookup(SerialContext.java:455)
	at javax.naming.InitialContext.lookup(Unknown Source)
	at com.sun.ejb.EjbNamingReferenceManagerImpl.resolveEjbReference(EjbNamingReferenceManagerImpl.java:173)
	at com.sun.enterprise.container.common.impl.ComponentEnvManagerImpl$EjbReferenceProxy.create(ComponentEnvManagerImpl.java:1106)
	at com.sun.enterprise.naming.impl.GlassfishNamingManagerImpl.lookup(GlassfishNamingManagerImpl.java:776)
	at com.sun.enterprise.naming.impl.GlassfishNamingManagerImpl.lookup(GlassfishNamingManagerImpl.java:744)
	at com.sun.enterprise.naming.impl.JavaURLContext.lookup(JavaURLContext.java:172)
	at com.sun.enterprise.naming.impl.SerialContext.lookup(SerialContext.java:498)
	at com.sun.enterprise.naming.impl.SerialContext.lookup(SerialContext.java:455)
	at javax.naming.InitialContext.lookup(Unknown Source)
	at com.sun.enterprise.container.common.impl.util.InjectionManagerImpl._inject(InjectionManagerImpl.java:599)
	at com.sun.enterprise.container.common.impl.util.InjectionManagerImpl.inject(InjectionManagerImpl.java:470)
	at com.sun.enterprise.container.common.impl.util.InjectionManagerImpl.injectClass(InjectionManagerImpl.java:213)
	at com.sun.enterprise.container.common.impl.util.InjectionManagerImpl.injectClass(InjectionManagerImpl.java:205)
	at org.glassfish.appclient.client.acc.AppClientContainer$ClientMainClassSetting.getClientMainClass(AppClientContainer.java:625)
	at org.glassfish.appclient.client.acc.AppClientContainer.getMainMethod(AppClientContainer.java:517)
	at org.glassfish.appclient.client.acc.AppClientContainer.completePreparation(AppClientContainer.java:411)
	at org.glassfish.appclient.client.acc.AppClientContainer.prepare(AppClientContainer.java:319)
	at org.glassfish.appclient.client.AppClientFacade.prepareACC(AppClientFacade.java:278)
	at org.glassfish.appclient.client.acc.agent.AppClientContainerAgent.premain(AppClientContainerAgent.java:82)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at sun.instrument.InstrumentationImpl.loadClassAndStartAgent(Unknown Source)
	at sun.instrument.InstrumentationImpl.loadClassAndCallPremain(Unknown Source)
Caused by: java.lang.RuntimeException: java.net.ConnectException: Connection refused: connect
	at org.glassfish.enterprise.iiop.impl.IIOPSSLSocketFactory.createSocket(IIOPSSLSocketFactory.java:339)
	at com.sun.corba.ee.impl.transport.SocketOrChannelConnectionImpl.<init>(SocketOrChannelConnectionImpl.java:242)
	... 37 more
Caused by: java.net.ConnectException: Connection refused: connect
	at sun.nio.ch.Net.connect(Native Method)
	at sun.nio.ch.SocketChannelImpl.connect(Unknown Source)
	at com.sun.corba.ee.impl.orbutil.ORBUtility.openSocketChannel(ORBUtility.java:110)
	at org.glassfish.enterprise.iiop.impl.IIOPSSLSocketFactory.createSocket(IIOPSSLSocketFactory.java:324)
	... 38 more
com.sun.enterprise.container.common.spi.util.InjectionException: Exception attempting to inject Remote ejb-ref name=applicationclient1.Main/sessionBean,Remote 3.x interface =SessionBean.SessionBeanRemote,ejb-link=EnterpriseApplication1-ejb.jar#SessionBean,lookup=,mappedName=,jndi-name=java:global/EnterpriseApplication1/EnterpriseApplication1-ejb/SessionBean!SessionBean.SessionBeanRemote,refType=Session into class applicationclient1.Main: Lookup failed for 'java:comp/env/applicationclient1.Main/sessionBean' in SerialContext[myEnv={java.naming.factory.initial=com.sun.enterprise.naming.impl.SerialInitContextFactory, java.naming.factory.url.pkgs=com.sun.enterprise.naming, java.naming.factory.state=com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl}
	at com.sun.enterprise.container.common.impl.util.InjectionManagerImpl._inject(InjectionManagerImpl.java:703)
	at com.sun.enterprise.container.common.impl.util.InjectionManagerImpl.inject(InjectionManagerImpl.java:470)
	at com.sun.enterprise.container.common.impl.util.InjectionManagerImpl.injectClass(InjectionManagerImpl.java:213)
	at com.sun.enterprise.container.common.impl.util.InjectionManagerImpl.injectClass(InjectionManagerImpl.java:205)
	at org.glassfish.appclient.client.acc.AppClientContainer$ClientMainClassSetting.getClientMainClass(AppClientContainer.java:625)
	at org.glassfish.appclient.client.acc.AppClientContainer.getMainMethod(AppClientContainer.java:517)
	at org.glassfish.appclient.client.acc.AppClientContainer.completePreparation(AppClientContainer.java:411)
	at org.glassfish.appclient.client.acc.AppClientContainer.prepare(AppClientContainer.java:319)
	at org.glassfish.appclient.client.AppClientFacade.prepareACC(AppClientFacade.java:278)
	at org.glassfish.appclient.client.acc.agent.AppClientContainerAgent.premain(AppClientContainerAgent.java:82)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at sun.instrument.InstrumentationImpl.loadClassAndStartAgent(Unknown Source)
	at sun.instrument.InstrumentationImpl.loadClassAndCallPremain(Unknown Source)
Caused by: javax.naming.NamingException: Lookup failed for 'java:comp/env/applicationclient1.Main/sessionBean' in SerialContext[myEnv={java.naming.factory.initial=com.sun.enterprise.naming.impl.SerialInitContextFactory, java.naming.factory.url.pkgs=com.sun.enterprise.naming, java.naming.factory.state=com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl} [Root exception is javax.naming.NamingException: Exception resolving Ejb for 'Remote ejb-ref name=applicationclient1.Main/sessionBean,Remote 3.x interface =SessionBean.SessionBeanRemote,ejb-link=EnterpriseApplication1-ejb.jar#SessionBean,lookup=,mappedName=,jndi-name=java:global/EnterpriseApplication1/EnterpriseApplication1-ejb/SessionBean!SessionBean.SessionBeanRemote,refType=Session' .  Actual (possibly internal) Remote JNDI name used for lookup is 'java:global/EnterpriseApplication1/EnterpriseApplication1-ejb/SessionBean!SessionBean.SessionBeanRemote' [Root exception is javax.naming.NamingException: Lookup failed for 'java:global/EnterpriseApplication1/EnterpriseApplication1-ejb/SessionBean!SessionBean.SessionBeanRemote' in SerialContext[myEnv={java.naming.factory.initial=com.sun.enterprise.naming.impl.SerialInitContextFactory, java.naming.factory.url.pkgs=com.sun.enterprise.naming, java.naming.factory.state=com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl} [Root exception is javax.naming.NamingException: Unable to acquire SerialContextProvider for SerialContext[myEnv={java.naming.factory.initial=com.sun.enterprise.naming.impl.SerialInitContextFactory, java.naming.factory.url.pkgs=com.sun.enterprise.naming, java.naming.factory.state=com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl} [Root exception is org.omg.CORBA.COMM_FAILURE: FINE: IOP00410001: Connection failure: socketType: IIOP_CLEAR_TEXT; hostname: localhost; port: 3700  vmcid: OMG  minor code: 1  completed: No]]]]
	at com.sun.enterprise.naming.impl.SerialContext.lookup(SerialContext.java:518)
	at com.sun.enterprise.naming.impl.SerialContext.lookup(SerialContext.java:455)
	at javax.naming.InitialContext.lookup(Unknown Source)
	at com.sun.enterprise.container.common.impl.util.InjectionManagerImpl._inject(InjectionManagerImpl.java:599)
	... 15 more
Caused by: javax.naming.NamingException: Exception resolving Ejb for 'Remote ejb-ref name=applicationclient1.Main/sessionBean,Remote 3.x interface =SessionBean.SessionBeanRemote,ejb-link=EnterpriseApplication1-ejb.jar#SessionBean,lookup=,mappedName=,jndi-name=java:global/EnterpriseApplication1/EnterpriseApplication1-ejb/SessionBean!SessionBean.SessionBeanRemote,refType=Session' .  Actual (possibly internal) Remote JNDI name used for lookup is 'java:global/EnterpriseApplication1/EnterpriseApplication1-ejb/SessionBean!SessionBean.SessionBeanRemote' [Root exception is javax.naming.NamingException: Lookup failed for 'java:global/EnterpriseApplication1/EnterpriseApplication1-ejb/SessionBean!SessionBean.SessionBeanRemote' in SerialContext[myEnv={java.naming.factory.initial=com.sun.enterprise.naming.impl.SerialInitContextFactory, java.naming.factory.url.pkgs=com.sun.enterprise.naming, java.naming.factory.state=com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl} [Root exception is javax.naming.NamingException: Unable to acquire SerialContextProvider for SerialContext[myEnv={java.naming.factory.initial=com.sun.enterprise.naming.impl.SerialInitContextFactory, java.naming.factory.url.pkgs=com.sun.enterprise.naming, java.naming.factory.state=com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl} [Root exception is org.omg.CORBA.COMM_FAILURE: FINE: IOP00410001: Connection failure: socketType: IIOP_CLEAR_TEXT; hostname: localhost; port: 3700  vmcid: OMG  minor code: 1  completed: No]]]
	at com.sun.ejb.EjbNamingReferenceManagerImpl.resolveEjbReference(EjbNamingReferenceManagerImpl.java:178)
	at com.sun.enterprise.container.common.impl.ComponentEnvManagerImpl$EjbReferenceProxy.create(ComponentEnvManagerImpl.java:1106)
	at com.sun.enterprise.naming.impl.GlassfishNamingManagerImpl.lookup(GlassfishNamingManagerImpl.java:776)
	at com.sun.enterprise.naming.impl.GlassfishNamingManagerImpl.lookup(GlassfishNamingManagerImpl.java:744)
	at com.sun.enterprise.naming.impl.JavaURLContext.lookup(JavaURLContext.java:172)
	at com.sun.enterprise.naming.impl.SerialContext.lookup(SerialContext.java:498)
	... 18 more
Caused by: javax.naming.NamingException: Lookup failed for 'java:global/EnterpriseApplication1/EnterpriseApplication1-ejb/SessionBean!SessionBean.SessionBeanRemote' in SerialContext[myEnv={java.naming.factory.initial=com.sun.enterprise.naming.impl.SerialInitContextFactory, java.naming.factory.url.pkgs=com.sun.enterprise.naming, java.naming.factory.state=com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl} [Root exception is javax.naming.NamingException: Unable to acquire SerialContextProvider for SerialContext[myEnv={java.naming.factory.initial=com.sun.enterprise.naming.impl.SerialInitContextFactory, java.naming.factory.url.pkgs=com.sun.enterprise.naming, java.naming.factory.state=com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl} [Root exception is org.omg.CORBA.COMM_FAILURE: FINE: IOP00410001: Connection failure: socketType: IIOP_CLEAR_TEXT; hostname: localhost; port: 3700  vmcid: OMG  minor code: 1  completed: No]]
	at com.sun.enterprise.naming.impl.SerialContext.lookup(SerialContext.java:518)
	at com.sun.enterprise.naming.impl.SerialContext.lookup(SerialContext.java:455)
	at javax.naming.InitialContext.lookup(Unknown Source)
	at com.sun.ejb.EjbNamingReferenceManagerImpl.resolveEjbReference(EjbNamingReferenceManagerImpl.java:173)
	... 23 more
Caused by: javax.naming.NamingException: Unable to acquire SerialContextProvider for SerialContext[myEnv={java.naming.factory.initial=com.sun.enterprise.naming.impl.SerialInitContextFactory, java.naming.factory.url.pkgs=com.sun.enterprise.naming, java.naming.factory.state=com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl} [Root exception is org.omg.CORBA.COMM_FAILURE: FINE: IOP00410001: Connection failure: socketType: IIOP_CLEAR_TEXT; hostname: localhost; port: 3700  vmcid: OMG  minor code: 1  completed: No]
	at com.sun.enterprise.naming.impl.SerialContext.getProvider(SerialContext.java:352)
	at com.sun.enterprise.naming.impl.SerialContext.lookup(SerialContext.java:504)
	... 26 more
Caused by: org.omg.CORBA.COMM_FAILURE: FINE: IOP00410001: Connection failure: socketType: IIOP_CLEAR_TEXT; hostname: localhost; port: 3700  vmcid: OMG  minor code: 1  completed: No
	at sun.reflect.GeneratedConstructorAccessor30.newInstance(Unknown Source)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
	at java.lang.reflect.Constructor.newInstance(Unknown Source)
	at com.sun.corba.ee.spi.orbutil.logex.corba.CorbaExtension.makeException(CorbaExtension.java:248)
	at com.sun.corba.ee.spi.orbutil.logex.corba.CorbaExtension.makeException(CorbaExtension.java:95)
	at com.sun.corba.ee.spi.orbutil.logex.WrapperGenerator.handleFullLogging(WrapperGenerator.java:387)
	at com.sun.corba.ee.spi.orbutil.logex.WrapperGenerator.access$400(WrapperGenerator.java:107)
	at com.sun.corba.ee.spi.orbutil.logex.WrapperGenerator$2.invoke(WrapperGenerator.java:511)
	at com.sun.corba.ee.spi.orbutil.proxy.CompositeInvocationHandlerImpl.invoke(CompositeInvocationHandlerImpl.java:99)
	at $Proxy34.connectFailure(Unknown Source)
	at com.sun.corba.ee.impl.transport.SocketOrChannelConnectionImpl.<init>(SocketOrChannelConnectionImpl.java:257)
	at com.sun.corba.ee.impl.transport.SocketOrChannelConnectionImpl.<init>(SocketOrChannelConnectionImpl.java:270)
	at com.sun.corba.ee.impl.transport.SocketOrChannelContactInfoImpl.createConnection(SocketOrChannelContactInfoImpl.java:129)
	at com.sun.corba.ee.impl.protocol.CorbaClientRequestDispatcherImpl.beginRequest(CorbaClientRequestDispatcherImpl.java:223)
	at com.sun.corba.ee.impl.protocol.CorbaClientDelegateImpl.request(CorbaClientDelegateImpl.java:228)
	at com.sun.corba.ee.impl.protocol.CorbaClientDelegateImpl.is_a(CorbaClientDelegateImpl.java:393)
	at org.omg.CORBA.portable.ObjectImpl._is_a(Unknown Source)
	at org.omg.CosNaming.NamingContextHelper.narrow(Unknown Source)
	at com.sun.enterprise.naming.impl.SerialContext$ProviderCacheKey.getNameService(SerialContext.java:1241)
	at com.sun.enterprise.naming.impl.SerialContext.getRemoteProvider(SerialContext.java:411)
	at com.sun.enterprise.naming.impl.SerialContext.getProvider(SerialContext.java:347)
	... 27 more
Caused by: java.lang.RuntimeException: java.net.ConnectException: Connection refused: connect
	at org.glassfish.enterprise.iiop.impl.IIOPSSLSocketFactory.createSocket(IIOPSSLSocketFactory.java:339)
	at com.sun.corba.ee.impl.transport.SocketOrChannelConnectionImpl.<init>(SocketOrChannelConnectionImpl.java:242)
	... 37 more
Caused by: java.net.ConnectException: Connection refused: connect
	at sun.nio.ch.Net.connect(Native Method)
	at sun.nio.ch.SocketChannelImpl.connect(Unknown Source)
	at com.sun.corba.ee.impl.orbutil.ORBUtility.openSocketChannel(ORBUtility.java:110)
	at org.glassfish.enterprise.iiop.impl.IIOPSSLSocketFactory.createSocket(IIOPSSLSocketFactory.java:324)
	... 38 more



Зачем он к localhost'у пытается-то присоединиться? Вот в чём вопрос! Он по идее должен соединяться с тем у кого stub'ы взяты.
...
Рейтинг: 0 / 0
Как вызвать удалённый метод в EJB из GUI приложения?
    #37670231
Фотография 1024
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
нет тут никаких вопросов. Пока не подключишь ВСЕ библиотеки работать не будет.
...
Рейтинг: 0 / 0
Как вызвать удалённый метод в EJB из GUI приложения?
    #37670281
Niky4000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
1024
авторнет тут никаких вопросов. Пока не подключишь ВСЕ библиотеки работать не будет.
Извини, по-моему это не в тему.
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
public class Main {
    @EJB
    private static SessionBeanRemote sessionBean;

    public static void main(String[] args) {
        NewJFrame jf=new NewJFrame();
        jf.set_jlabel(sessionBean.retHello());
        jf.setLocationRelativeTo(null);
        jf.setVisible(true);
    }
}


Я создал другой проект - Enterprise Application, а не обычный Java Class.
Библиотеки тут не причём в данном случае. С localhost всё работает.
Почему-то моё Enterprise Application хочет только с localhost работать, а я хочу, чтоб он соединялся с 172.16.1.250.
А явно это нигде не задаётся.
Я думал, что при скачке stub'ов он сам привяжется к серверу, но нет. Надо думать как теперь клиента с сервером соединить.
...
Рейтинг: 0 / 0
Как вызвать удалённый метод в EJB из GUI приложения?
    #37670287
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Niky4000Библиотеки тут не причём в данном случае. С localhost всё работает.
Почему-то моё Enterprise Application хочет только с localhost работать, а я хочу, чтоб он соединялся с 172.16.1.250.

В свойства InitialContext адрес передается или нет?
...
Рейтинг: 0 / 0
Как вызвать удалённый метод в EJB из GUI приложения?
    #37670346
Niky4000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторВ свойства InitialContext адрес передается или нет?
В случае с обычным Java-классом вроде как да, но у меня он не пашет из-за того, что я не могу подключить ВСЕ библиотеки - не знаю набора ВСЕХ библиотек.
( http://www.sql.ru/forum/actualthread.aspx?tid=919879)
А в случае с Enterprise приложением тоже что ли InitialContext надо задавать?
Попробую...
...
Рейтинг: 0 / 0
Как вызвать удалённый метод в EJB из GUI приложения?
    #37670383
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Niky4000А в случае с Enterprise приложением тоже что ли InitialContext надо задавать?

Да что же вы всё в одну кучу мешаете? У вас проблема в толстом клиенте? Причем здесь Enterprise приложение (aka JEE модуль)?
...
Рейтинг: 0 / 0
Как вызвать удалённый метод в EJB из GUI приложения?
    #37670419
Niky4000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ну, да. В толстом клиенте.
Просто раньше толстый клиент был обычным Java приложением, а теперь он стал Enterprise J2EE модулем.
И вот этот толстый клиент в виде Enterprise J2EE модуля не соединяется с сервером приложений в Glassfish с EJB-модулем.
А как заставить этого J2EE клиента соединиться не с localhost а с чем нибудь другим? Вот это пока вопрос!
...
Рейтинг: 0 / 0
Как вызвать удалённый метод в EJB из GUI приложения?
    #37670434
Большой Синий Кит
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczNiky4000А в случае с Enterprise приложением тоже что ли InitialContext надо задавать?

Да что же вы всё в одну кучу мешаете? У вас проблема в толстом клиенте? Причем здесь Enterprise приложение (aka JEE модуль)?

У человека проблема вообще с ява. Он ничего в ней не понимает, а лезет сразу в создание ежб бинов.


Niky4000Просто раньше толстый клиент был обычным Java приложением, а теперь он стал Enterprise J2EE модулем.

Надо записать! :))
...
Рейтинг: 0 / 0
25 сообщений из 69, страница 2 из 3
Форумы / Java [игнор отключен] [закрыт для гостей] / Как вызвать удалённый метод в EJB из GUI приложения?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]