Glassfish Fehler IOP00410201 in Verbindung mit EJB

Der folgende Fehler taucht unerwartet auf:

Dieser Fehler wird durch folgende Codezeile verursacht:

Warum taucht dieser Fehler auf und wodurch?

Dieser Fehler entsteht nicht aufgrund eines Fehler im Quellcode, sondern hat andere Gründe.
Eine Domain eines Glassfish-Servers hat verschiedene Ports. Wenn neben der Domain 1, weitere Domains erstellt werden, ändern sich nicht nur die Ports 8080 und 4949. Es ändern sicht auch die Ports für den iiop-service und den jms-service. Gleichzeitg werden andere Namen für den Rechner vergeben. Bei mir wurde hinter den Namen des Rechners bei der Domain 2 “fritz.box” angehängt.
Von diesen Änderungen ist aber auch die sun-acc.xml betroffen. Dort werden die Einstellungen für den “target-server …” verändert.

Es bestehen nun verschiedene Lösungsmöglichkeiten:

  • Einstellungen auf die Einstellungen von Domain 1 zurück setzen
  • Die neuen Einstellungen an das Objekt InitialContext übergeben

Die Lösung eins ist entsprechend einfach. Die Werte für den iiop-service und für den jms-service in der “domain.xml” der Domain 1 müssen in die “domain.xml” der Domain 2 kopiert werden. Die dort vorhandenen Werte für beide Services müssen dabei überschrieben werden.
Weiterhin muss die target-server Zeile aus der “sun-acc.xml” von der Domain 1 in die “sun-acc-xml” von der Domain 2 kopiert werden und die dort vorhandene target-server Zeile überschrieben werden.

Die Lösung zwei ist dagegen ein wenig umständlicher. Zuerst muss gebprüft werden ob der neue Servername auch wirklich stimmt, da ansonsten der Server nicht anrufbar ist.
Durch

können verschiedene Werte festgelegt werden. Dies kann auch durch das einlesen einer Propertie-Datei übernommen werden.
Durch folgende Codezeile werden diese Einstellungen dann gesetzt:

Mögliche Einstellungen für Glassfish laut https://glassfish.dev.java.net/javaee5/ejb/EJB_FAQ.html#StandaloneRemoteEJB

Tagged ,

Leave a Reply

Your email address will not be published. Required fields are marked *