stand-alone-client läuft nur auf dem Server

mrhope

Mitglied
Hallo zusammen,

habe einen Glassfish-Server und einen Java stand-alone-client.

Leider funktioniert der Zugriff auf die Remote-Beans nur auf dem Server auf dem Glassfish selbst läuft.
Von einem anderen PC leider nicht.
Der Port 3700 ist offen. (Test mittels Hyperterminal)

Folgend der Code für den Zugriff auf die Remote-Beans
Java:
Properties p = new Properties();
p.put("org.omg.CORBA.ORBInitialHost","Der Host");
p.put("org.omg.CORBA.ORBInitialPort","3700");
InitialContext ctx = new InitialContext(p);

Lookups....

ctx wird erfolgreich gesetzt nur der lookup läuft ewig und endet
mit eine javax.naming.NamingException

Was mir seltsam erschien:
Wenn ich Glassfish auf meinem Entwicklungs-PC lokal laufen ließ, griff der Client
lokal zu und nicht auf Glassfish auf dem Server-PC.

Habe schon den ganzen Tag gegoogelt und probiert.
Alles ohne Erfolg!

Folgende Anleitung habe ich z.B. berücksichtigt:
(Absatz: How do I access a Remote EJB component from a stand-alone java client?)
https://glassfish.dev.java.net/javaee5/ejb/EJB_FAQ.html#StandaloneRemoteEJB

Bald soll mein Urlaub los gehen und nun hängt es an dieser Kleinigkeit.;(

Hoffe es kann mir jemand helfen.

Wünsche allen eine gute Nacht.

Grüße
MrHope
 

FArt

Top Contributor
Ich habe mit Glassfish noch nicht intensiv gearbeitet, aber das sind beliebte Fehler:
Der Name kann nicht aufgelöst werden. Mit welchem Protokoll arbeitet die Beankommunikation? Evtl. werden noch andere Ports benötigt. Mach mal alles auf und schau dann weiter. Auch beliebt: bei anderen AS kann man verschiedene Dienste auf verschiedene Netzwerkadressen binden, ich glaube bei Glassfish geht das auch. Man sollte das Binding für die Adresse 0.0.0.0 vornehmen. Das bedeutet, dass auf alle bekannten Adressen gebunden wird (localhost, 127.0.0.1 und evtl. mehrere Netzwerkkarten). Auch beliebt: in einer NAT Umgebung muss man aufpassen. Trifft das bei dir zu?

Das wahrscheinlichste: Firewall!

[EDIT]
Was mir seltsam erschien:
Wenn ich Glassfish auf meinem Entwicklungs-PC lokal laufen ließ, griff der Client
lokal zu und nicht auf Glassfish auf dem Server-PC.
Wenn du dich an das Tutorial gehalten hast, dann kann das nicht sein und ist noch wahrscheinlicher das Problem als die Firewall.
 
Zuletzt bearbeitet:

dehe

Neues Mitglied
Die javax.naming.NamingException deutet darauf hin, dass der Name im JNDI Tree im lookup falsch angegeben wurde.
Der ist bei den verschiedenen Appservern unterschiedlich, bei Glassfish wäre das
package.homeinterface, also zum beispiel
Object ref = ctx.lookup( "mein_package.IKlasseHome" );
 

Ähnliche Java Themen

Neue Themen


Oben