Как исправить ошибку java.rmi.ServerException
Релиб
Форумы       Участники    Календарь    Кто он-лайн?
Добро пожаловать, гость ( Вход | Регистрация )
        



Как исправить ошибку java.rmi.ServerException... Expand / Collapse
Автор
Сообщение
06.09.2006 11:02
Forum Member

Forum MemberForum MemberForum MemberForum MemberForum MemberForum MemberForum MemberForum Member

участник
Last Login: 09.06.2008 12:39
Сообщ.: 30, Visits: 141
Использую в своем проекте проект который использует RMI, с RMI не сильно знаком smile , вылетает такой експешион

java.rmi.ServerException: RemoteException occurred in server thread; nested exception is: java.rmi.UnmarshalException: error unmarshalling arguments; nested exception is: java.io.InvalidClassException: gateway.ShortMessage; local class incompatible: stream classdesc serialVersionUID = -9125313922810789427, local class serialVersionUID = -4495976296593919990


Что, и как исправиь?
Сообщ. #903920
06.09.2006 11:13
Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

модератор
Last Login: 10.11.2008 0:08
Сообщ.: 1 298, Visits: 12 501
Синхронизировать jar-файл в котором расположен класс gateway.ShortMessage на сервере и на клиенте. У тебя на сервере другая версия класса чем на клиенте при десерализации происходит ошибка.

Если это происходит в режиме отладки (такое случается например при отладке в Eclipse, потому как у них свой компилятор и по другому вычисляется serialVersionUID по сравнению с компилятором Sun), то можно добавить в класс новый атрибут "private static final long serialVersionUID = " и присвоить ему любое сгенерированное число типа long. После этого пересоздать библиотеку и разместить на сервер по новой.

Если в классе уже есть атрибут serialVersionUID, то он не будет автоматически пересоздаваться компилятором и ошибка должна исчезнуть даже если классы были сгенерированы разными компиляторами, правда в этом случае нужно не забывать изменять serialVersionUID если были внесены изменения в класс.

Удачи,
Владимир
Сообщ. #903924
06.09.2006 12:51
Forum Member

Forum MemberForum MemberForum MemberForum MemberForum MemberForum MemberForum MemberForum Member

участник
Last Login: 09.06.2008 12:39
Сообщ.: 30, Visits: 141
помогло, теперь зато другой эксепшион

java.rmi.ConnectException: Connection refused to host: XXX.XXX.1.1; nested exception is: java.net.ConnectException: Connection refused: connect

под иксами циферки конечно...

Сообщ. #903934
06.09.2006 15:34
Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

участник
Last Login: 23.05.2007 20:20
Сообщ.: 662, Visits: 5 795
Под иксами, видимо, 192.168 =)

Здесь, боюсь, конкретно никто не сможет помочь. Как ты и сам можешь видеть, проблема в том, что сервер отклоняет TCP соединения.

Ты можешь это проверить даже без java. Выполни в командой строке

telnet XXX.XXX.1.1 <port>

где <port> -- это TCP порт, куда коннектится твой клиент.

telnet пытается создать TCP соединение, то есть то же самое, что и твой клиент.
Сообщ. #903946
« пред. тема | след. тема »


Эту тему читают Expand / Collapse
Посетители: 0 (0 гостей, 0 участников, 0 скрыт.участников)
Сейчас нет участников, просматривающих тему.
Модераторы: Alexey, boombastik, bazile, mishgun, pl

Время GMT +3:00, Сейчас 1:44