WebSphere Message Broker Version 8.0.0.5 Betriebssysteme: AIX, HP-Itanium, Linux, Solaris, Windows, z/OS

Sehen Sie sich die Informationen zur aktuellen Produktversion im IBM Integration Bus Version 9.0 an.

CORBA-Operationsparameter

CORBA-Operationen können Parameter enthalten, die vom Server modifiziert werden können.

CORBA-Operationen können Eingabe-, Ausgabe- und Ein-/Ausgabeparameter enthalten. Eingabe- und Ein-/Ausgabeparameter bestimmen das Aussehen der Baumstruktur unter der DataObject-Domäne beim Eintreffen im CORBARequest-Knoten. Rückgabetyp, Ein-/Ausgabe- und Ausgabeparameter bestimmen das Aussehen der Baumstruktur beim Verlassen des CORBARequest-Knotens.

Die eingehende Nachricht ist im Element interfaceName.operationName enthalten und benötigt für jeden Eingabe- oder Ein-/Ausgabeparameter ein Element. Wenn die Schnittstelle in einem Modul enthalten ist, wird der Name mit dem Namen des Moduls qualifiziert. Wenn die Schnittstelle in anderen Modulen verschachtelt ist, werden alle Modulnamen angegeben. Beispiel: moduleNameA.moduleNameB.interfaceName.operationName. Ausgabeparameter sind nicht erforderlich, weil der Client keinen Wert für Ausgabeparameter sendet. Diese Elemente müssen in derselben Reihenfolge wie die Parameter in der IDL-Datei angeordnet sein.

Die Ausgabenachricht vom CORBARequest-Knoten ist im Element 'interfaceName.operationNameResponse' enthalten. Wenn die Schnittstelle in einem Modul enthalten ist, wird der Name mit dem Modulnamen qualifiziert. Die abgehende Nachricht enthält ein Element für den Rückgabetyp mit dem Namen _return und ein Element für jeden Ein-/Ausgabe- und Ausgabeparameter.

Hier ein Beispiel einer IDL-Datei:
interface exampleInterface {
		string outsideModuleOperation(Eingabezeichenfolge one, Ausgabezeichenfolge two, Ein-/Ausgabezeichenfolge three);
	
};
Die Eingabenachricht kann wie das folgende Beispiel aussehen:
<exampleInterface.outsideModuleOperation>
		<one>irgendetwas</one>
		<three>irgendetwas</three>
</exampleInterface.outsideModuleOperation>
Die Ausgabenachricht kann wie das folgende Beispiel aussehen:
<exampleInterface.outsideModuleOperationResponse>
		<_return>irgendetwas</_return>
		<two>irgendetwas</two>
		<three>irgendetwas</three>
</exampleInterface.outsideModuleOperationResponse>
Die Eingabenachricht muss alle Eingabe- und Ein-/Ausgabeparameter enthalten, deshalb sind 'one' und 'three' angegeben. Die Ausgabenachricht enthält folgende Elemente:

Benutzerdefinierte Ausnahmebedingungen

Ausnahmebedingungen werden an das Fehlerterminal (Error) unter der DataObject-Domäne weitergegeben; die Struktur der Nachricht hängt von der Ausnahmebedingung ab.

Das folgende Beispiel zeigt die Definition einer benutzerdefinierten Ausnahmebedingung in einer IDL-Datei.
exception BadRecord {
    string why;    
  };


  interface SomeInterface {
    long bar(in float pi) raises (BadRecord);
  };
Die Operation bar kann die Ausnahmebedingung BadRecord ausgeben. Wird diese Ausnahmebedingung ausgegeben, wird folgende Nachricht an das Fehlerterminal (Error) weitergegeben.
<BadRecord>
		<why>Ursachenbeschreibung</why>
</BadRecord>

Grenzfälle

In Bezug auf das Lesen und das Erstellen einer Baumstruktur sind zwei Grenzfälle bekannt:
  • Es sind keine Eingabeparameter vorhanden.
  • Eine void-Funktion enthält keine Ein-/Ausgabe- oder Ausgabeparameter
Die folgende IDL-Beispieldatei zeigt zwei Beispiel.
interface exampleInterface {
		string exampleOne();
void exampleTwo(Eingabezeichenfolge one);	
};
  • Beispiel 1 - Keine Ein-/Ausgabeparameter vorhanden

    Eingabenachricht: Die Eingabenachricht ist irrelevant, weil der CORBARequest-Knoten den Hauptteil der Nachricht nicht beachtet.

    Ausgabenachricht:
    <exampleInterface.exampleOneResponse>
    		<_return>irgendetwas</_return>
    </exampleInterface.exampleOneResponse>
  • Beispiel 2 - Eine void-Funktion enthält keine Ein-/Ausgabe- oder Ausgabeparameter
    Eingabenachricht:
    <exampleInterface.exampleTwo>
    		<one>irgendetwas</one>
    </exampleInterface.exampleTwo>
    Ausgabenachricht:
    <exampleInterface.exampleTwoResponse>
    </exampleInterface.exampleTwoResponse>
Bemerkungen | Marken | Downloads | Bibliothek | Support | Feedback

Copyright IBM Corporation 1999, 2014Copyright IBM Corporation 1999, 2014.

        
        Letzte Aktualisierung:
        
        Letzte Aktualisierung: 2015-02-28 16:22:29


KonzeptthemaKonzeptthema | Version 8.0.0.5 | bc22470_