2009-08-20 10 views
3

Ich versuche, einen Remote-Aufruf an Remote-Objekt als Teil einer in Websphere installierten Anwendung auszuführen. Die Endlösung wird RPG to local java cilent sein, um den entfernten Dienst anzurufen, der den Webservice aufruft. Hauptsächlich haben wir also einen Code, um den Webservice aufzurufen und das XML-Parsing durchzuführen, außerdem hat die iSeries keinen direkten Zugang zum Internet.Verbinden mit Websphere rmi Server

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

In meinem RMI-Server-Klasse wie dieses Ich Registrierung

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

Wenn ich die jdk auf meinem Localmachine bin mit dann führe ich die "rmiregistry" aus und kann ok verbinden, wie ich mich mit der Klasse verbinde, wenn sie innerhalb von Websphere läuft. Ich nahm an, dass websphere einen rmi-Server auf Port 2813 ausgeführt hatte, wie in der Admin-Konsole angegeben.

ich zur Zeit immer lesen Auszeit Fragen

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 

Ich bin neu zu RMI Ich könnte viel nach oben/wenig unter der Annahme: S

Danke, Scottyab

Antwort

1

Die webSphere RMI ist nicht allgemeingültig, sondern als intern anzusehen und umfasst den WebSphere-eigenen EJB-RMI/IIOP-Aufrufmechanismus und den Verwaltungsdienst. Der Port 2813 ist für den Zugriff durch Admin-Tools vorgesehen.

Anwendungscode, der in WebSphere ausgeführt wird, kann aufrufbare EJBs, JMS-Warteschlangen, WebServices - oder beliebige HTTP-Anfragen/Antworten, die Sie selbst erstellen möchten, verfügbar machen.

Da Sie beabsichtigen, einen Webdienstaufruf einmal "innerhalb" von WebSphere zu verwenden, warum können Sie das nicht direkt von Ihrem Standalone-Java aus tun?

+0

Danke, ich dachte, ich habe etwas offensichtlich mit WAS/RMI vermisst. Die Idee, nicht einfach den Webservice von Java auf der iSeries aufzurufen, war wegen des Mangels an direkter HTTP-Verbindung zum Internet und ich war nicht scharf darauf, zwei Kopien desselben Codes zu haben, um den Dienst zu nutzen, aber vielleicht bin ich es auch Ich werde das doch tun müssen. – scottyab

1

Dieser Port ist wahrscheinlich für den Remote-JMX-Connector.