![]() |
|
Модераторы: 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. |
| 1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Java: Работа с сетью | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |