![]() |
Модераторы: LSD, AntonSaburov |
![]() ![]() ![]() |
|
newObject |
|
||||||||
![]() Новичок Профиль Группа: Участник Сообщений: 42 Регистрация: 29.6.2006 Репутация: нет Всего: 2 |
Приложение простое существует сервер к которому обращается клиент, сервер возвращает XML документ, клиент строит таблицу. Взаимодействие пытаюсь реализовать посредствам RMI.
В принцепе проблема заключается в том, что локально все работает, т.е. когда для rebind и lookup пишешь localhost . интерфейс
сервер
клиент Апплет (реализованно что то вроде патеррна фабричный метод)
файл policy
соотвественно запуск: java -Djava.rmi.server.codebase=file://.../myclasses/ EXDocumentFabric appletviewer table.html Все замечательно отработало. Но когда я попробовал поднять Апачи и положить туда и клиента ( Апплет) и сервер, работать перестал, причем места вызовов (rebind и lookup) обложил catch`ми ничего не ловится. Konqueror пишет Applet failed. java -Djava.rmi.server.codebase=http://13.0.0.60/ -Djava.security.policy=http://13.0.0.60/policy EXDocumentFabric (сервер стартанул) konqueror http://13.0.0.60/table.html ( клиент ответил Applet failed) Потом заметил что нет *_Skel. Насколько я понял *_Stub является классом заглушкой. Вопрос: - для чего нужен *_Skel?; - нужно ли запускать rmic для класса клиента; - что не так. стоит jdk 1.5 были проблемы с jdk 1.5 и jdk 1.4 т.е. когда запускал rmic(jdk 1.4) EXDocumentFabric(имя сервера соответственно) Выпадал эксепшен. Потом прочел где то про несовместимость версий и все заработало. rmic(jdk 1.5) EXDocumentFabric(имя сервера соответственно) Представлен не весь код. Код апплета выдран из TableModel, EXDocument является оболочкой для XML документ. |
||||||||
|
|||||||||
newObject |
|
||||||||
![]() Новичок Профиль Группа: Участник Сообщений: 42 Регистрация: 29.6.2006 Репутация: нет Всего: 2 |
![]() Дествительно когда запускаешь сервер:
И клиента:
Все работает отлично. Но когда запускаешь так:
Выпадает Ексепшен и konqueror пишет Loading Class: comcor.net_db.object.EXDocument (ну это вроде понятно нет доступа класс грузится)
Про то что appletviewer урезан по самые гланды это да, но что происходит ![]() Просьба, подскажите сами или укажите ресурс где можно прочитать толковую информацию о политике доступа. Да еще все пишется под ASP Linux 10(Karelia) и запускается с правами root. ![]() |
||||||||
|
|||||||||
BlodTor |
|
|||
Новичок Профиль Группа: Участник Сообщений: 12 Регистрация: 27.4.2006 Репутация: нет Всего: нет |
А аплет в jar упакован или просто .class положил?
Если в jar, подписан он или нет? если не подписан, то попробуй подписать его. |
|||
|
||||
newObject |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 42 Регистрация: 29.6.2006 Репутация: нет Всего: 2 |
Нет лежат классами, без jar.
Я както об этом даже не думал, понятно что песочница (Sanbox) может по разному реагировать на апплеты с наличием RMI и без него. В принцепе потому и попросил указать чего почитать про политику безопасности. Т.к. в тех книгах что есть кротко упоминается что есть такая и по разному реагирует на приложения с подписью и без нее. ![]() |
|||
|
||||
newObject |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 42 Регистрация: 29.6.2006 Репутация: нет Всего: 2 |
Вопрос по поводу _Skel снимается т.к. с новыми протоколами в RMI Java 2 SDK скелеты стали не нужны.
![]() Но насущный ворос "Что не так" отсается. ![]() |
|||
|
||||
powerOn |
|
|||
![]() software saboteur ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4367 Регистрация: 7.10.2005 Репутация: 2 Всего: 159 |
Код регистрации компонента выполняется на стороне сервера. Как собственно и создание компонента. Для сервера адрес сервера (т.е его собственный адрес) - localhost. У тебя же, получается, что с твоей машины нужно на удаленном сервере зарегистрировать компонент. Попробуй регистрацию производить по localhost.
|
|||
|
||||
newObject |
|
||||||||||
![]() Новичок Профиль Группа: Участник Сообщений: 42 Регистрация: 29.6.2006 Репутация: нет Всего: 2 |
Народ, покажите в чем ошибка!!!
Я взял пример "Клиентские обратные вызовы RMI" из книги http://ru.sun.com/java/j2ee/book/RMI.pdf Скомпилил, положил в http (http://13.0.0.60/SunTMN/ все лежит в это директории) и... Все работает СУПЕР!!! Решил убрать обратные вызовы и перелопатил пример вот так Applet1.java (клиент)
RMIServer.java (сервер)
TimeMonitor.java (интерфейс)
файл policy (разрешение доступа)
table.html
1. Запускаю апачи. 2. Запускаю rmiregistry 3. Скомпилил и создал заглушку 3. Запускаю сервер (java -Djava.secutity.policy=http://13.0.0.60/SunTMN/policy RMIServer) 4. Запускаю клиента (konqueror http://13.0.0.60/SunTMN/table.html) Все виснет на методе lookup клиента а konqueror говорит гружу класс TimeMonitor!!! ![]() ![]() ![]() |
||||||||||
|
|||||||||||
newObject |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 42 Регистрация: 29.6.2006 Репутация: нет Всего: 2 |
Народ, код из последнего поста я замучал, Все хорошо работает.
Преребрался к своему коду, опять не работает!!! Сервер стартует нормально, а клиент пишет Applet faild (забыл добавить, что апплет не проходит метода lookup(), т.е. на нем все и падает)! Кто нибудь может сказать по какой причине могут возникать такие сообщения от браузера? Естественно применительно к ситуации (Апплет клиент)->(сервер). Это сообщение отредактировал(а) newObject - 21.7.2006, 08:03 |
|||
|
||||
newObject |
|
||||||
![]() Новичок Профиль Группа: Участник Сообщений: 42 Регистрация: 29.6.2006 Репутация: нет Всего: 2 |
Это, не реально. У меня нет слов!!!
Рассказываю по порядку Я забыл указать в первом посте html для запуска моего апплета! а там были совершенно безобидные строчки
Запускал konqueror, то пишет Applet Faild. (его электронную маму ![]() Так как до этого локально appletviewer работал а проблемы возникали именно с konqueror, то его постоянно и запускал. Случайно запустил через appletviewer, и то весело выплюнул
Полез гуглиться и нашел на http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4250410
исправил соответственно значения из процентных на пиксельные!!! ![]() Далее appletviewer сообщил, что апплет не видит класс org.jdom.Document (класс является возвращаемым значением в RMI интерфейсе). Пложил в корень апачи org и все ЗАРАБОТАЛО!!! Вот и думай то ли это моя НЕВНИМАТЕЛЬНОСТЬ то ли нужно ВСПОМНИТЬ ЧЬЮ ТО МАМУ!!! P.S. to be continued, see next post ![]() |
||||||
|
|||||||
![]() ![]() ![]() |
Правила форума "Java" | |
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Java: Работа с сетью | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |