Mit dem SOAPExtract-Knoten können Sie SOAP- Rahmenanweisungen entfernen, so dass nur der Nachrichtentext einer SOAP-Nachricht verarbeitet wird. Er kann eine SOAP-Nachricht auch basierend auf ihrem Operationsnamen weiterleiten. Beide Funktionen sind optional. Sie sind in einem Knoten enthalten, da sie häufig gemeinsam verwendet werden.
Dieses Thema ist in folgende Abschnitte eingeteilt:
Der SOAPExtract-Knoten erfüllt zwei Funktionen:
Stellen Sie sicher, dass die Parseroptionen der Nachricht im Ordner 'Eigenschaften' der abgehenden Nachricht korrekt für die Analyse der Nachricht eingestellt sind. Kopieren Sie dazu den Nachrichtensatz und das Nachrichtenformat aus der ankommenden Nachricht. Die Nachrichtenart leitet sich aus dem ersten untergeordneten Element des Nachrichtenhauptteils der SOAP-Rahmenanweisung ab.
Nur ein einziges untergeordnetes Element des SOAP-Nachrichtenhauptteils wird unterstützt.
Der SOAPExtract-Knoten ist im Ablagefach Web-Services der Palette enthalten und wird in der Workbench durch folgendes Symbol dargestellt:
Informationen zu Beispielen können nur bei Verwendung des in das WebSphere Message Broker Toolkit integrierten bzw. online verfügbaren Information Center angezeigt werden. Muster können nur ausgeführt werden, wenn das im WebSphere Message Broker Toolkit integrierte Information Center verwendet wird.
Nachdem Sie eine Instanz des SOAPExtract-Knotens in einen Nachrichtenfluss eingereiht haben, können Sie den Knoten konfigurieren; siehe Nachrichtenflussknoten konfigurieren. Die Eigenschaften des Knotens werden in der Ansicht 'Eigenschaften' angezeigt.
Es wird keine vollständige Auswertung der SOAP-Nachricht durchgeführt; die Nachricht muss lediglich ein Hauptteilelement enthalten.
In der folgenden Tabelle werden die Terminals des SOAPExtract-Knotens beschrieben:
Terminal | Beschreibung |
---|---|
Eingabeterminal (In) | Das Eingabeterminal, das eine SOAP-Nachricht zur Verarbeitung durch einen Knoten annimmt. |
Ausgabeterminal (Out) | Das Ausgabeterminal, das den Hauptteil der SOAP-Nachricht ausgibt (ohne die Rahmenanweisung, wenn das Kontrollkästchen Rahmenanweisung entfernen in den Knoteneigenschaften aktiviert ist). |
Fehlerterminal (Failure) | Das Ausgabeterminal, an das die Eingabenachricht geleitet wird, wenn während der Verarbeitung ein Fehler auftritt. |
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).
In der folgenden Tabelle werden die Beschreibungseigenschaften des SOAPExtract-Knotens beschrieben.
Eigenschaft | O | K | Standardwert | Beschreibung |
---|---|---|---|---|
Knotenname | Nein | Nein | Knotentyp | Der Name des Knotens. |
Kurzbeschreibung | Nein | Nein | Kurze Beschreibung des Knotens. | |
Langbeschreibung | Nein | Nein | Text, der den Zweck des Knotens im Nachrichtenfluss beschreibt. |
In der folgenden Tabelle werden die Basiseigenschaften des SOAPExtract-Knotens beschrieben.
Eigenschaft | O | K | Standardwert | Beschreibung |
---|---|---|---|---|
Rahmenanweisung entfernen | Nein | Nein | Ausgewählt | Wenn Sie das Kontrollkästchen aktivieren, entfernt der Knoten den SOAP-Header von der Nachricht. Bei einer SOAP-Baumstruktur gibt der Knoten das erste untergeordnete Element von 'SOAP. body' der SOAP-Baumstruktur an das Ausgangsterminal aus. Dabei gibt er die vollständige SOAP-Baumstruktur, aber ohne das erste untergeordnete Element von 'SOAP.body', an Zieladresse der Rahmenanweisung aus. Wenn Sie das Kontrollkästchen inaktivieren, lässt der Knoten die Rahmenanweisung an der Nachricht. Im Falle einer SOAP-Baumstruktur wird die vollständige Baumstruktur an das Ausgangsterminal weitergegeben. |
Zieladresse der Rahmenanweisung | Nein | Nein | $LocalEnvironment/SOAP/Envelope | Ein XPath-Ausdruck, der für die Zieladresse steht, an die der Knoten die Rahmenanweisung kopieren soll. Folgende Korrelationsnamen stehen zur Verfügung:
|
Zielpfadmodus | Nein | Nein | Pfad erstellen | Diese Option bestimmt das Verhalten der Eigenschaft Zieladresse der Rahmenanweisung. Stellen Sie diese Eigenschaft wie folgt ein:
|
An Zieladresse 'operation' weiterleiten | Nein | Nein | Nicht ausgewählt | Durch diese Eigenschaft wird festgelegt, ob der Knoten die Nachricht an die in der Nachricht angegebene SOAP-Operation weiterleiten muss. Wenn Sie das Kontrollkästchen aktivieren, wird die Nachricht an einen Label-Knoten weitergeleitet, der mit der SOAP-Operation übereinstimmt. Eine Ausnahme wird ausgelöst, wenn kein übereinstimmender Label-Knoten vorhanden ist. Der Name des ersten untergeordneten Elements des SOAP-Hauptteils wird dazu verwendet, den Namen für 'RouteToLabel' zu bestimmen. Für die WSDL-Typen 'RPC-Literal' und 'Wrapped Document-Literal' ist dies der Operationsname. Bei einer SOAP-Baumstruktur liefert das erste untergeordnete Element von 'SOAP.Body' den Operationsnamen. Wenn Sie das Kontrollkästchen inaktivieren, sendet der Knoten die Nachricht an das Ausgangsterminal. |
Präfix | Nein | Nein | Der Wert, der als Präfix des Kennsatzes dienen soll, den der Knoten für die Weiterleitung verwendet. Durch die Angabe eines Präfix werden Abstände zwischen Namen untergeordneter Nachrichtenflüsse ermöglicht. |
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. |
<?xml version="1.0"?>
<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:tns="http://ws3.st.mqsi.ibm.com/App/DocLiteral1"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Header>
<tns:requestHeader>
<tns:assessorUrl>header1</tns:assessorUrl>
</tns:requestHeader>
</soapenv:Header>
<soapenv:Body>
<tns:requestAvailability>
<tns:carDetails>body1</tns:carDetails>
<tns:claimID>body2</tns:claimID>
<tns:location>body3</tns:location>
<tns:reqDate>body4</tns:reqDate>
</tns:requestAvailability>
</soapenv:Body>
</soapenv:Envelope>
Der Operationsname lautet 'requestAvailability'. Es ist zu beachten, dass die Namenszwischenräume aus der Operation entfernt wurden.
<?xml version="1.0"?>
<tns:requestAvailability
xmlns:tns="http://ws3.st.mqsi.ibm.com/App/DocLiteral1"
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<tns:carDetails>body1</tns:carDetails>
<tns:claimID>body2</tns:claimID>
<tns:location>body3</tns:location>
<tns:reqDate>body4</tns:reqDate>
</tns:requestAvailability>
<?xml version="1.0"?>
<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:tns="http://ws3.st.mqsi.ibm.com/App/DocLiteral1"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Header>
<tns:requestHeader>
<tns:assessorUrl>header1</tns:assessorUrl>
</tns:requestHeader>
</soapenv:Header>
</soapenv:Envelope>