![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| KostenkoSergey |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 290 Регистрация: 31.10.2005 Где: Kiev Репутация: 3 Всего: 8 |
Как можно вызвать EJB, развёрнутый на WebSphere AppServer с другого сервера приложений (ну или контейнера для сервлетов) ?
Пробую , для начала, по аналогии с другими серверами, написать просто майновый класс, что-то типа:
а в ответ :
Библиотеки WebSphere 6.0. Client подключил Это сообщение отредактировал(а) KostenkoSergey - 16.4.2007, 10:49 |
||||
|
|||||
| KostenkoSergey |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 290 Регистрация: 31.10.2005 Где: Kiev Репутация: 3 Всего: 8 |
Прошу прощения - поспешил с вопросом.
Нужно включить ibmorb.jar в classpath, из ibm jdk (i.e. inside jre\lib folder). |
|||
|
||||
| y3u |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 440 Регистрация: 9.9.2006 Где: Москва Репутация: 7 Всего: 13 |
ну написано же, нету классика, проверь есть он или нету его...
-------------------- В нашей стране настаивать на кореньях, черной смородине, лимонных корках - гораздо эффективнее, чем на правах |
|||
|
||||
| KostenkoSergey |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 290 Регистрация: 31.10.2005 Где: Kiev Репутация: 3 Всего: 8 |
да.. эт я уже понял Пошёл дальше:
И тут же напоролся на :
|
||||
|
|||||
| y3u |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 440 Регистрация: 9.9.2006 Где: Москва Репутация: 7 Всего: 13 |
ну пройдись по стеку вызовов, посмотри где что к чему кастится и в дебаггере глянь какие реально инстансы достаются откуда... такие ж эксцепшены надо на отладке смотреть, больше ни чем помочь не могу...
Это сообщение отредактировал(а) y3u - 16.4.2007, 12:10 -------------------- В нашей стране настаивать на кореньях, черной смородине, лимонных корках - гораздо эффективнее, чем на правах |
|||
|
||||
| KostenkoSergey |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 290 Регистрация: 31.10.2005 Где: Kiev Репутация: 3 Всего: 8 |
Похоже дело в том, что я пытоаюсь получить доступ по JNDI на Websphere 6 из Sun JRE, попробовал из-под ibm-овской - прошло.
Но получить доступ нужно мименно из под Sun JRE ... Вот тебе и портабельность :( 2y3u - спасибо за участие, но про "пройтись по стеку" недопонял .. стек вызовов привлекших к ошибке я привёл. Что ещё мне даст дебаг ? Это сообщение отредактировал(а) KostenkoSergey - 16.4.2007, 12:27 |
|||
|
||||
| y3u |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 440 Регистрация: 9.9.2006 Где: Москва Репутация: 7 Всего: 13 |
на дебаге можно посмотреть на класс каст эксцепшен, который тебе все валит, можно посмотреть какой инстанс нужен и какой инстанс реально приходит и сделать вывод почему не кастится
-------------------- В нашей стране настаивать на кореньях, черной смородине, лимонных корках - гораздо эффективнее, чем на правах |
|||
|
||||
| chief39 |
|
|||
![]() карманная тигра ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1631 Регистрация: 20.5.2005 Где: Киев Репутация: 11 Всего: 77 |
Закинь необходимые ибмовские либы в сановскую жре в эндорсед -------------------- Люди - это свечи. Они либо горят, либо их - в жопу!(с) |
|||
|
||||
| KostenkoSergey |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 290 Регистрация: 31.10.2005 Где: Kiev Репутация: 3 Всего: 8 |
Вариант с endorsed не катит, пробовал.
Если патчить ibm-овскими либами оно просит пропатчить ещё и core.jar, но в этом случае:
|
|||
|
||||
| w1nd |
|
|||
![]() Вертилятор ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1077 Регистрация: 22.3.2006 Где: Москва Репутация: 7 Всего: 54 |
О-о... всё не так просто, как кажется. Мне для того, чтобы подключится к удаленной вебсфере из sun jvm потребовалось:
Положить в системное свойство com.ibm.CORBA.ConfigURL урл к конфигурационному файлу, содержащему следующее:
Также установить системные свойства: org.omg.CORBA.ORBClass = com.ibm.CORBA.iiop.ORB org.omg.CORBA.ORBSingletonClass = com.ibm.rmi.corba.ORBSingleton javax.rmi.CORBA.StubClass = com.ibm.rmi.javax.rmi.CORBA.StubDelegateImpl javax.rmi.CORBA.PortableRemoteObjectClass = com.ibm.rmi.javax.rmi.PortableRemoteObject javax.rmi.CORBA.UtilClass = com.ibm.ws.orb.WSUtilDelegateImpl com.ibm.CORBA.ORBPluginClass.com.ibm.ws.wlm.client.WLMClient = com.ibm.CORBA.ORBPluginClass.com.ibm.ws.orbimpl.transport.WSTransport = com.ibm.CORBA.ORBPluginClass.com.ibm.ws.orbimpl.WSORBPropertyManager = com.ibm.CORBA.ORBPluginClass.com.ibm.ISecurityUtilityImpl.SecurityPropertyManager = com.ibm.CORBA.ORBPluginClass.com.ibm.ws.orb.WSSubcontractInitImpl = org.omg.PortableInterceptor.ORBInitializerClass.com.ibm.ws.Transaction.JTS.TxInterceptorInitializer = org.omg.PortableInterceptor.ORBInitializerClass.com.ibm.ejs.ras.RasContextSupport = org.omg.PortableInterceptor.ORBInitializerClass.com.ibm.ISecurityLocalObjectBaseL13Impl.ClientRIWrapper = org.omg.PortableInterceptor.ORBInitializerClass.com.ibm.ws.activity.remote.cos.ActivityServiceClientInterceptor = org.omg.PortableInterceptor.ORBInitializerClass.com.ibm.ISecurityLocalObjectBaseL13Impl.CSIClientRI = org.omg.PortableInterceptor.ORBInitializerClass.com.ibm.debug.olt.ivbtrjrt.OLT_RI = org.omg.PortableInterceptor.ORBInitializerClass.com.ibm.ws.wlm.client.WLMClientInitializer = com.ibm.ws.orb.transport.ConnectionInterceptorName = com.ibm.ISecurityLocalObjectBaseL13Impl.SecurityConnectionInterceptor com.ibm.ws.orb.transport.WSSSLClientSocketFactoryName = com.ibm.ws.security.orbssl.WSSSLClientSocketFactoryImpl com.ibm.CORBA.enableLocateRequest = true com.ibm.CORBA.ORBCharEncoding = UTF8 com.ibm.CORBA.ForceTunnel = never com.ibm.CORBA.TransportMode = Pluggable В класс-путь поместить: bootstrap.jar com.ibm.ws.runtime_6.1.0.jar com.ibm.ws.sib.server_2.0.0.jar com.ibm.ws.sib.utils_2.0.0.jar com.ibm.ws.webservices.thinclient_6.1.0.jar ecore.jar ecutils.jar ffdc.jar ibmorb.jar iwsorbutil.jar lmproxy.jar marshall.jar properties.jar querybean.jar utils.jar wsexception.jar ws_runtime.jar xml.jar Это сообщение отредактировал(а) w1nd - 16.4.2007, 17:03 -------------------- ![]() ![]() |
|||
|
||||
| KostenkoSergey |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 290 Регистрация: 31.10.2005 Где: Kiev Репутация: 3 Всего: 8 |
Спасибо, сичас буду пробовать.. получается дело не в патчах к Sun JRE, а в настройках WS ? 1. У меня sas.client.props расположен в \was\profiles\AppSrv01\properties\ - это он? Можешь поподробнее, где этот урл писать и что за формат конфига ? |
|||
|
||||
| w1nd |
|
|||
![]() Вертилятор ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1077 Регистрация: 22.3.2006 Где: Москва Репутация: 7 Всего: 54 |
Узнал это не я, а мой коллега, в результате долгих попыток и поисков. Я теперь этим пользуюсь
Формат конфига - копи-паст с моего сообщения. Урл писать в системное свойство с названием "com.ibm.CORBA.ConfigURL". Конечно, кое-какое настройки, возможно, вам не подойдут, но дальше уж разберётесь. Это сообщение отредактировал(а) w1nd - 16.4.2007, 17:05 -------------------- ![]() ![]() |
|||
|
||||
| KostenkoSergey |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 290 Регистрация: 31.10.2005 Где: Kiev Репутация: 3 Всего: 8 |
У меня IBM WebSphere Application Server, 6.0.0.0
Я что то нигде не могу найти скледующие файлы: com.ibm.ws.runtime_6.0.0.jar com.ibm.ws.sib.server_2.0.0.jar com.ibm.ws.sib.utils_2.0.0.jar com.ibm.ws.webservices.thinclient_6.0.0.jar Это сообщение отредактировал(а) KostenkoSergey - 16.4.2007, 19:31 |
|||
|
||||
| KostenkoSergey |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 290 Регистрация: 31.10.2005 Где: Kiev Репутация: 3 Всего: 8 |
w1nd, а вы точно не плугабили жре от сан ?
Я вот тут посмотрел [http://www-1.ibm.com/support/docview.wss?rs=180&uid=swg27007298] Так, если правильно понял - то для Sun 32-bit Java 2 SDK, v 1.4.2_05 какой-то Pluggable Application client должен быть ... И ещё возвращаясь к твоему совету "Также установить системные свойства:" - это где надо было сделать ? Может я не туда их вписал :( |
|||
|
||||
| KostenkoSergey |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 290 Регистрация: 31.10.2005 Где: Kiev Репутация: 3 Всего: 8 |
Есть небольшой сдвиг.
В дистрибутиве с WS ND есть AppClient, после его инсталяции обнаружил следующие библиотеки: ibmext.jar, ibmorb.jar, ibmorbapi.jar, после того как пропатчил ими Sun JRE endorsed Standalone приложение заработало, а вот сервер по прежнему возвращает ошибку :( Скорее всего - это из-за того, что клиент кастит com.ibm.websphere.naming.WsnInitialContextFactory на com.sun.corba.se.impl.orb.ORBImpl, а сервер в моём случае на сom.inprise.vbroker.orb.ORB... и шо его блин делать Это сообщение отредактировал(а) KostenkoSergey - 17.4.2007, 17:42 |
|||
|
||||
| chief39 |
|
|||
![]() карманная тигра ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1631 Регистрация: 20.5.2005 Где: Киев Репутация: 11 Всего: 77 |
Тих, не лупи так башкой апстену, соседи сбегутся
Клиент, гришь, въебсферовски? И он же кастит въебсферовски контекстфэктори на орбимпл? А у тебя вылазят бесовские уши, так? Попробуй поглядеть в джариках въебсферовского клиента их реализацию контекста. И попробуй явно указать этот класс при . Типа org.ws.bla-bla.our.great.mega.Context вместо InitialContext -------------------- Люди - это свечи. Они либо горят, либо их - в жопу!(с) |
|||
|
||||
| KostenkoSergey |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 290 Регистрация: 31.10.2005 Где: Kiev Репутация: 3 Всего: 8 |
ну не совсем бесовские ...
я так понял этот самый орб om.ibm.ws.naming.util.Helpers.getOrb просто не кастится на com.inprise.vbroker.orb.ORB толи из-за различий в ибмовских и сановских интерфейсах, толи исчё какогото... вообчем полная ... |
|||
|
||||
| KostenkoSergey |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 290 Регистрация: 31.10.2005 Где: Kiev Репутация: 3 Всего: 8 |
Наконец-то удалось победить lockup:
Оказываеццо, через CORBA object URL можно обращаться к WS, минуя ибмовскую реализацию jndi. Пробовал через borlandовскую, прокатило :
Через сановскую, кстати тоже: com.sun.jndi.cosnaming.CNCtxFactory источник: http://publib.boulder.ibm.com/infocenter/w...mple_prop2.html Правда до конца схема всё же ещё не работает Найденая ссылка портаблится(portableRemoteObject.narrow), объект создаётся, но при попытке вызвать remote-метод получаю:
С чем это может быть связано ? Это сообщение отредактировал(а) KostenkoSergey - 18.4.2007, 12:52 |
||||
|
|||||
| chief39 |
|
|||
![]() карманная тигра ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1631 Регистрация: 20.5.2005 Где: Киев Репутация: 11 Всего: 77 |
Пробовал? У тебя и на сервере и на клиенте должна быть WS реализация, выходит что на сервере ты просто гребёшь WS а на клиенте, по дефалту, создаёшь реализацию БЕСовского контекста. Попробуй явно создать WSский инитиал контекст через нью и передать его переменой типа InitialContext -------------------- Люди - это свечи. Они либо горят, либо их - в жопу!(с) |
|||
|
||||
| KostenkoSergey |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 290 Регистрация: 31.10.2005 Где: Kiev Репутация: 3 Всего: 8 |
Это ничего не меняет, когда я делаю : env.put(Context.INITIAL_CONTEXT_FACTORY,"com.ibm.websphere.naming.WsnInitialContextFactory"), я и так получаю IBM'овский контекст, соответственно с его jndi- и ORB-реализацией, последние под Sun JRE глючат. Используя другой контекст, соответственно получаю другую реализацию, к-я отрабатывает. - тут, наверное, немного не так. Не то, что бы "должна быть одинаковой", а достаточно что бы реализации "понимали" друг друга. Используя CORBA URL это достигается. Что примечательно: Вызов без параметров или с пераметрами = null до WS доходит и отрабатывается, а с не нуловыми значениями приводит к возникновению приведённой выше ошибки. Это наталкивает на мысль, что проблема переместилась на уровень "упаковки параметров" |
|||
|
||||
| w1nd |
|
|||
![]() Вертилятор ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1077 Регистрация: 22.3.2006 Где: Москва Репутация: 7 Всего: 54 |
Что значит "плугабили"? JRE нетронутый.
Можно при старте приложения, до создания каких-либо контекстов получения каких-либо удалённых объектов. Ы помощью System.setProperty(). Только у меня websphere 6.1.0 Добавлено @ 11:36 Урл такого вида: corbaloc:iiop:<имя_сервера>:<порт> (с WsnInitialContextFactory) Это сообщение отредактировал(а) w1nd - 19.4.2007, 11:37 -------------------- ![]() ![]() |
|||
|
||||
![]()
|
| Правила форума "Java" | |
|
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |