Verwenden Sie den CORBARequest-Knoten zum Aufrufen einer externen CORBA-Anwendung über Internet Inter-Orb Protocol (IIOP).
Über den CORBARequest-Knoten können Sie WebSphere Message Broker mit CORBA-Anwendungen verbinden. CORBA ist ein Standard für die Verteilung von Objekten in einem Netz, sodass Operationen für diese Objekte über Fernzugriff aufgerufen werden können. CORBA-Objekte werden in IDL-Dateien (Interface Definition Language = Schnittstellendefinitionssprache) beschrieben. Sie können einen Nachrichtenfluss erstellen, der einen CORBARequest-Knoten enthält, der einen CORBA-Server aufruft. Der Nachrichtenfluss konfiguriert anhand der IDL-Datei, welche Operation an welcher Schnittstelle aufgerufen wird. Indem Sie einen Nachrichtenfluss mit einem CORBARequest-Knoten verwenden, können Sie bestehenden CORBA-Anwendungen eine neue externe Schnittstelle, z. B. eine SOAP-Schnittstelle, zur Verfügung stellen. Die IDL-Datei wird in einem Nachrichtengruppenprojekt in einem Ordner mit dem Namen CORBA IDLs gespeichert und zur Konfiguration des CORBARequest-Knotens im Nachrichtenfluss verwendet.
Eine mögliche Verwendung des CORBARequest-Knotens besteht darin, eine SOAP-basierte Web-Service-Anwendung mit einer bestehenden CORBA-IIOP-Anwendung zu verbinden, indem Sie eine synchrone Nachrichtenflussvariante verwenden. Sie können eine solche Verbindung herstellen, indem Sie folgenden Nachrichtenfluss erstellen:
Der CORBARequest-Knoten arbeitet nicht transaktionsorientiert. Nachdem er eine Anforderung gestellt hat, kann er sie nicht rückgängig machen. Die CORBA-Knoten verwenden die DataObject-Domäne.
Der CORBARequest-Knoten befindet sich im Ablagefach CORBA der Nachrichtenflussknotenpalette und wird in der WebSphere Message Broker Toolkit durch folgendes Symbol dargestellt:
Nachdem Sie eine Instanz des CORBARequest-Knotens in einen Nachrichtenfluss eingereiht haben, können Sie den Knoten konfigurieren; siehe Nachrichtenflussknoten konfigurieren. Die Knoteneigenschaften werden in der Eigenschaftenansicht angezeigt.
Alle obligatorischen Eigenschaften, für die Sie einen Wert eingeben müssen (d. h. Eigenschaften ohne definierten Standardwert), sind mit einem Stern gekennzeichnet.
Terminal | Beschreibung |
---|---|
Eingabeterminal (In) | Das Eingabeterminal, das eine Nachricht zur Verarbeitung durch einen Knoten annimmt. Es werden Daten aus der Nachrichtenbaumstruktur genommen und an den CORBA-Server gesendet. |
Ausgang | Das Ausgabeterminal, von dem Rückgabeparameter weitergegeben werden. |
Fehlerterminal (Failure) | Das Ausgabeterminal, an das eine Nachricht weitergeleitet wird, wenn ein Fehler erkannt wird. |
Fehler | CORBA-Ausnahmebedingungsnachrichten, die als Antwort auf die gesendete Anforderung empfangen werden, werden an das Fehlerterminal (Error) gesendet. Wenn keine Verbindung zu diesem Fehlerterminal besteht und ein Fehler empfangen wird, findet im Nachrichtenfluss keine weitere Verarbeitung statt. Der Fehler wird als Warnung im Benutzertrace protokolliert. |
In den folgenden Tabellen werden die Knoteneigenschaften beschrieben. Die Spalte O zeigt an, ob die Eigenschaft obligatorisch ist (markiert mit einem Sternchen, wenn ein Wert eingegeben werden muss, weil kein Standardwert definiert ist). Die Spalte K zeigt an, ob die Eigenschaft konfigurierbar ist (Wert kann geändert werden, wenn der Nachrichtenfluss zur BAR-Datei hinzugefügt wird, um ihn einzusetzen).
Eigenschaft | O | K | Standardwert | Beschreibung |
---|---|---|---|---|
Knotenname | Nein | Nein | Der Knotenname | Der Name des Knotens. |
Kurzbeschreibung | Nein | Nein | Ohne | Kurze Beschreibung des Knotens. |
Langbeschreibung | Nein | Nein | Ohne | Text, der den Zweck des Knotens im Nachrichtenfluss beschreibt |
Eigenschaft | O | K | Standardwert | Beschreibung | Eigenschaft des Befehls mqsiapplybaroverride |
---|---|---|---|---|---|
Namensservice | Ja | Ja | Die Position des Namensservice, der das aufgerufene Objekt enthält. Für diese Eigenschaft können Sie den Hostnamen des Namensservice oder einen konfigurierbaren CORBA-Service angeben.
|
namingService | |
Objektverweisname | Ja | Ja | Der Name des Verweises auf das Objekt im Namensservice. Sie können diesen
Wert von dem CORBA-Server abrufen, den Sie aufrufen. Weitere Informationen zur Angabe des Objektverweisnamens finden Sie im Abschnitt CORBA-Namensservice. Den Objektverweisnamen können Sie auch mit einem konfigurierbaren Service angeben. Der Abschnitt Festlegung der Speicherposition, aus welcher der CORBARequest-Knoten den Objektverweis abruft enthält weitere Informationen hierzu. |
referenceName | |
IDL-Datei | Ja | Nein | Die IDL-Datei in einem Nachrichtengruppenprojekt, die zur Konfiguration des
CORBARequest-Knotens verwendet wird.
Klicken Sie auf Durchsuchen, um eine IDL-Datei in einer referenzierten
Nachrichtengruppe auszuwählen. Falls Sie eine importierte IDL-Datei in die grafische Anzeige oder auf den
CORBARequest-Knoten gezogen haben, ist für die Eigenschaft
IDL-Datei der Name der IDL-Datei angegeben. Bei Angabe einer IDL-Datei wird die Eigenschaft Schnittstellenname mit einer Liste verfügbarer Schnittstellen belegt. |
||
Schnittstellenname | Ja | Nein | Die Schnittstelle aus der IDL-Datei, die der Knoten aufruft. Geben Sie entweder einen gültigen Schnittstellennamen ein oder klicken Sie auf Schnittstelle auswählen und wählen Sie eine Schnittstelle aus der Liste aus. Wenn die Liste sehr viele Schnittstellen enthält, können Sie die Einträge filtern. Bei den für diese Eigenschaft aufgelisteten Werten handelt es sich um die Schnittstellen in der ausgewählten IDL-Datei, für die es mindestens eine Operation gibt. Diese Liste wird nur bei Angabe einer IDL-Datei belegt. Falls Sie eine importierte IDL-Datei in die grafische Anzeige oder auf den CORBARequest-Knoten gezogen haben, wird die Eigenschaft Schnittstellenname entsprechend der IDL-Datei gesetzt. Wenn der Schnittstellenname in der IDL-Datei in einem Modul enthalten ist, wird der Schnittstellenname mit dem Namen des Moduls qualifiziert. Wenn das Modul in anderen Modulen verschachtelt ist, wird der Schnittstellenname mit allen Modulnamen (beginnend beim Stammmodul) qualifiziert. Beispiel:
ModulnameA.ModulnameB.Schnittstellenname Bei Angabe eines Schnittstellennamens wird die Eigenschaft Operationsname mit einer Liste verfügbarer Operationen belegt. |
||
Operationsname | Ja | Nein | Die Operation, die über die Schnittstelle aufgerufen werden soll. Bei den Werten dieser Eigenschaft handelt es sich um die unterstützten Operationen, die in der ausgewählten Schnittstelle zur Verfügung stehen. Diese Liste wird nur bei Angabe eines Schnittstellennamens belegt. Falls Sie eine importierte IDL-Datei in die grafische Anzeige oder auf den CORBARequest-Knoten gezogen haben, wird die Eigenschaft Operationsname entsprechend der IDL-Datei gesetzt. Diese Eigenschaft können Sie in der lokalen Umgebung durch einen Wert an folgender Position überschreiben:
|
Eigenschaft | O | K | Standardwert | Beschreibung |
---|---|---|---|---|
Nachrichtendomäne | Nein | Nein | DataObject | Die Domäne für die Syntaxanalyse der Antwortnachricht. Die Nachricht, die vom CORBARequest-Knoten weitergegeben wird, befindet sich standardmäßig in der Datenobjektdomäne. Sie können keine andere Domäne angeben. |
Nachrichtengruppe | Nein | Nein | Wird automatisch festgelegt. | Der Name der Nachrichtengruppe, in der die ankommende Nachricht definiert ist. Die Nachrichtengruppe wird vom Knoten automatisch erkannt. |
Nachrichtentyp | Nein | Nein | Der Name der Antwortnachricht. Der Nachrichtentyp wird vom Knoten automatisch erkannt. Diese Eigenschaft kann nicht festgelegt werden. | |
Nachrichtenformat | Nein | Nein | Der Name des physischen Formats der Antwortnachricht. Diese Eigenschaft kann nicht festgelegt werden. |
Eigenschaft | O | K | Standardwert | Beschreibung |
---|---|---|---|---|
Datenposition | Ja | Nein | $Body | Die Position innerhalb der Baumstruktur der eingehenden Nachricht, aus der Daten zum Erstellen der Anforderung abgerufen werden, die vom CORBARequest-Knoten gesendet wird. |
Eigenschaft | O | K | Standardwert | Beschreibung |
---|---|---|---|---|
Position für Ausgabedaten | Nein | Nein | $OutputRoot | Die Position in der Nachrichtenbaumstruktur, an die der CORBARequest-Knoten Ausgabedaten sendet. Weitere Informationen hierzu finden Sie unter Ergebnisnachricht mit einer eingehenden Nachricht kombinieren. |
Lokale Umgebung kopieren | Nein | Nein | Ausgewählt | Durch diese Eigenschaft wird gesteuert, wie die lokale Umgebung in die
Ausgabenachricht kopiert wird. Wenn Sie dieses Kontrollkästchen aktivieren, wird in der
Baumstruktur eine neue Kopie der lokalen Umgebung erstellt (an jedem Knoten des
Nachrichtenflusses). In diese Kopien wird jeweils der Inhalt der lokalen Umgebung des
vorangegangenen Knotens eingetragen. Wenn ein Knoten die lokale Umgebung ändert, werden diese
Änderungen daher den vorherigen Knoten nicht angezeigt, da sie über eigene Kopien verfügen. Dieses
Verhalten könnte ein Problem darstellen, wenn Sie einen
FlowOrder-Knoten verwenden oder den Befehl 'propagate'
auf einem Compute-Knoten verwenden.
Wenn Sie dieses Kontrollkästchen inaktivieren, generieren die einzelnen Knoten keine eigene Kopie der lokalen Umgebung, sondern sie verwenden die lokale Umgebung, die ihnen vom vorangegangenen Knoten übergeben wird. Wenn also in diesem Fall die lokale Umgebung für einen Knoten geändert wird, werden diese Änderungen auch von den vorgeordneten Knoten bemerkt. |
Eigenschaft | O | K | Standardwert | Beschreibung |
---|---|---|---|---|
Ereignisse | Nein | Nein | Ohne | Auf dieser Registerkarte werden Ereignisse angezeigt, die Sie für den Knoten
definiert haben. Standardmäßig sind für keinen Knoten in einem Nachrichtenfluss
Überwachungsereignisse definiert. Über Hinzufügen,
Bearbeiten und Löschen können Sie
Überwachungsereignisse für den Knoten erstellen, ändern oder löschen (Details siehe
Überwachungsereignisquellen mithilfe von Überwachungseigenschaften konfigurieren). Sie können hier angezeigte Ereignisse aktivieren oder inaktivieren, indem Sie das Kontrollkästchen Aktiviert aktivieren oder inaktivieren. |