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.

Nachricht für den CORBARequest-Knoten formen

Sie können eine XML-Nachricht für den CORBARequest-Knoten verwenden oder eine Nachricht mithilfe eines anderen Nachrichtenflussknotens formen.

Bevor Sie beginnen:

Vergewissern Sie sich, dass ein Nachrichtenfluss mit einem CORBARequest-Knoten erstellt und konfiguriert wurde, wie im Abschnitt Nachrichtenfluss mit einem CORBARequest-Knoten entwickeln beschrieben.

Für den CORBARequest-Knoten ist eine Eingabenachricht erforderlich. Der Knoten kann eine XML-Nachricht von einem anderen Knoten verwenden oder Sie können eine Nachricht mithilfe eines Compute-, JavaCompute- oder PHPCompute-Knotens formen. Falls es zu der eingehenden Nachricht ein Nachrichtenmodell gibt, kann die Nachricht, die an den CORBARequest-Knoten gesendet werden soll, über einen Mapping-Knoten erstellt werden. Die Baumstruktur der eingehenden Nachricht muss der DataObject-Domäne angehören und die Elemente der Baumstruktur müssen der aufzurufenden IDL-Schnittstelle entsprechen. Nachrichten in der DataObject-Domäne werden physisch als XML dargestellt. Die Anwendung erstellt daher Nachrichtenhauptteile wie in den folgenden Beispielen dargestellt.

Sie können die Position innerhalb der Baumstruktur der eingehenden Nachricht angeben, aus der Daten zum Erstellen der Anforderung abgerufen werden, die vom CORBARequest-Knoten gesendet wird. Geben Sie diese Position über die Eigenschaft Datenposition auf der Registerkarte 'Anforderung' an. Der Standardwert ist $Body.

  1. Ermitteln Sie, welche Daten im Hauptteil der Nachricht enthalten sein müssen, die an den CORBARequest-Knoten gesendet werden soll.
  2. Geben Sie das Element der höchsten Ebene (interface.operationName) für die Nachricht an, die Sie an den CORBARequest-Knoten senden müssen.
  3. Geben Sie für jeden Eingabe- und Ein-/Ausgabeparameter ein untergeordnetes Element an. Für Ausgabeparameter muss kein Wert eingetragen werden.

Die folgenden Beispiele zeigen den XML- und ESQL-Code, der von einem Nachrichtenfluss empfangen werden könnte.

Eine Mischung aus Eingabe-, Ein-/Ausgabe- und Ausgabeparametern)

Hier eine IDL-Beispieldatei:
interface 

ExampleOne {
		enum completion{YES, NO, MAYBE};
 		typedef sequence<string> stringlist;
		struct stringobject {string member;};

		string exampleOneOperation(in string inparamA, inout string inoutparamA, out string outparamA);
		completion exampleOneOperationB(in stringlist inparamB, inout stringobject inoutparamB, out completion outparamB);
}
Diese IDL-Datei enthält eine Schnittstelle mit zwei Operationen, in denen ein Eingabeparameter (In), ein Ein-/Ausgabeparameter (Inout) und ein Ausgabeparameter (Out) angegeben sind.

Für die erste Operation, exampleOneOperationA, müssen die Parameter inparamA und inoutparamA unter dem Typ ExampleOne.exampleOneOperationA der höchsten Ebene eingetragen werden. Der Parameter outparamA muss nicht eingetragen werden.

Hier ein XML-Beispiel:
<ExampleOne.exampleOneOperationA>
		<inparamA>Ihr Wert</inparamA>
		<inoutparamA>Ihr Wert</inoutparamA>
</ExampleOne.exampleOneOperationA>
Hier ein ESQL-Beispiel:
SET  
OutputRoot.DataObject."ExampleOne.exampleOneOperationA".inparamA = 'yourvalue';

SET  
OutputRoot.DataObject."ExampleOne.exampleOneOperationA".inoutparamA = 'yourvalue'; 
Für die zweite Operation, exampleOneOperationB, müssen die Parameter inparamB und inoutparamB unter dem Typ ExampleOne.exampleOneOperationB der höchsten Ebene eingetragen werden. Der Parameter outparamB muss nicht eingetragen werden.
Hier ein XML-Beispiel:
<ExampleOne.exampleOneOperationB>
		<inparamB><item>Ihr Wert</item></inparamB>
		<inoutparamB><member>Ihr Wert</member></inoutparamB>
</ExampleOne.exampleOneOperationB>
Hier ein ESQL-Beispiel:
SET  
OutputRoot.DataObject."ExampleOne.exampleOneOperationB".inparamB.item = 'Ihr Wert';

SET  
OutputRoot.DataObject."ExampleOne.exampleOneOperationB".inoutparamB.member = 'Ihr Wert'

Nur Eingabe- und Ein-/Ausgabeparameter

Hier eine IDL-Beispieldatei:
interface 

ExampleTwo {
		enum completion{YES, NO, MAYBE};
		typedef sequence<string> stringlist;
		struct stringobject {string member;};

		string exampleTwoOperationA(in string inparamA, inout string inoutparamA);
		completion exampleTwoOperationB(in stringlist inparamB, inout stringobject inoutparamB);

}
Diese IDL-Datei enthält zwei Operationen, in denen nur ein Eingabe- und ein Ein-/Ausgabeparameter angegeben sind. Der Umstand, dass der Ausgabeparameter entfernt wurde und nur ein Eingabe- und ein Ein-/Ausgabeparameter angegeben sind, ändert nichts an den Parametern, die Sie eintragen müssen.

Für den Aufruf der ersten Operation, exampleTwoOperationA, müssen die Parameter inparamA und inoutparamA unter dem Typ ExampleTwo.exampleTwoOperationA der höchsten Ebene eingetragen werden.

Hier ein XML-Beispiel:
<ExampleTwo.exampleTwoOperationA> 
		<inparamA>Ihr Wert</inparamA>
		<inoutparamA>Ihr Wert</inoutparamA>
</ExampleTwo.exampleTwoOperationA>
Hier ein ESQL-Beispiel:
SET  
OutputRoot.DataObject."ExampleTwo.exampleTwoOperationA".inparamA = 'yourvalue';

SET  
OutputRoot.DataObject."ExampleTwo.exampleTwoOperationA".inoutparamA = 'yourvalue'; 
Für den Aufruf der zweiten Operation, exampleTwoOperationB, müssen die Parameter inparamB und inoutparamB unter dem Typ ExampleTwo.exampleTwoOperationB der höchsten Ebene eingetragen werden.
Hier ein XML-Beispiel:
<ExampleTwo.exampleTwoOperationB>
		<inparamB><item>Ihr Wert</item></inparamB>
		<inoutparamB><member>Ihr Wert</member></inoutparamB>
</ExampleTwo.exampleTwoOperationB>
Hier ein ESQL-Beispiel:
SET  
OutputRoot.DataObject."ExampleTwo.exampleTwoOperationB".inparamB.item = 'Ihr Wert';

SET  
OutputRoot.DataObject."ExampleTwo.exampleTwoOperationB".inoutparamB.member = 'Ihr Wert';

Keine Parameter oder nur Ausgabeparameter

Wenn die Operation keine Parameter oder nur Ausgabeparameter enthält, müssen Sie nichts in den Hauptteil der Nachricht eintragen. Der CORBARequest-Knoten beachtet die eingehende Nachricht nicht.

Nächster Schritt: Verarbeiten Sie die Antworten von CORBARequest, wie im Abschnitt Antworten von einem CORBARequest-Knoten verarbeiten beschrieben.
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


TaskthemaTaskthema | Version 8.0.0.5 | bc22450_