Sie können eine XML-Nachricht für den CORBARequest-Knoten verwenden oder eine Nachricht mithilfe eines anderen Nachrichtenflussknotens formen.
Vergewissern Sie sich, dass ein Nachrichtenfluss mit einem CORBARequest-Knoten erstellt und konfiguriert wurde, wie im Abschnitt Nachrichtenfluss mit einem CORBARequest-Knoten entwickeln beschrieben.
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.
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)
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.
<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. <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
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.
<ExampleTwo.exampleTwoOperationA>
<inparamA>Ihr Wert</inparamA>
<inoutparamA>Ihr Wert</inoutparamA>
</ExampleTwo.exampleTwoOperationA>
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.
<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.