Подключение к серверу Websphere rmi - PullRequest
3 голосов
/ 20 августа 2009

Я пытаюсь выполнить удаленный вызов удаленного объекта, работающего как часть приложения, установленного в Websphere. Конечным решением будет RPG для локального Java-клиента, чтобы вызвать удаленный сервис, который вызывает веб-сервис. В основном это связано с тем, что у нас есть один набор кода для вызова веб-службы и выполнения разбора xml, плюс iSeries не имеет прямого доступа к Интернету.

Iseries WebSphere Server RPG> Java -> Java-> Webservice

В моем классе RMI-сервера я регистрируюсь вот так

 Naming.rebind("rmi://127.0.0.1:2813/CAPostcodeService", obj);

Если я использую jdk на своей локальной машине, я запускаю "rmiregistry" и могу нормально подключиться, как мне подключиться к классу, если он работает в Websphere. Я предположил, что в websphere запущен сервер rmi через порт 2813, как указано в консоли администратора.

У меня сейчас проблемы с тайм-аутом чтения

CAPostcodeRMILookup exception: error during JRMP connection establishment; nested exception is: 
java.net.SocketTimeoutException: Read timed out
java.rmi.ConnectIOException: error during JRMP connection establishment; nested exception is: 
    java.net.SocketTimeoutException: Read timed out

Я новичок в использовании RMI. Я могу предположить, что много / мало: S

Спасибо, Scottyab

Ответы [ 2 ]

1 голос
/ 20 августа 2009

Этот порт, скорее всего, для удаленного разъема JMX.

1 голос
/ 20 августа 2009

WebSphere RMI не является универсальным, рассматривайте его как внутренний, охватывающий собственный механизм вызова EJB RMI / IIOP и службу администратора. Порт 2813 предназначен для доступа с помощью инструментов администратора.

Код приложения, работающий в WebSphere, может предоставлять удаленно вызываемые EJB, JMS-очереди, WebServices - или любые HTTP-запросы / ответы, которые вы хотите создать для себя.

Поскольку вы намереваетесь использовать вызов веб-службы один раз "внутри" WebSphere, почему вы не можете сделать это напрямую из вашей автономной Java?

...