Mithilfe des TCPIPServerInput-Knotens können Sie eine Serververbindung mit einem unformatierten TCP/IP-Socket erstellen und über diese Verbindung Daten empfangen.
Dieses Thema ist in folgende Abschnitte eingeteilt:
Der TCPIPServerInput-Knoten ist an einem Port empfangsbereit. Wenn ein Client-Socket eine Verbindung zu dem Port herstellt, erstellt das Server-Socket eine Verbindung für den Client. Anders als der TCPIPClientInput-Knoten versucht der TCPIPServerInput-Knoten nicht, eine Mindestanzahl an Verbindungen herzustellen. Der Grund hierfür ist, dass die Serverseite des Sockets keine neuen Verbindungen einleiten kann - sie kann diese lediglich akzeptieren. Der TCPIPServerInput-Knoten akzeptiert Verbindungen bis zu einem bestimmten Maximalwert, der in der Eigenschaft 'MaximumConnections' des konfigurierbaren TCPIPServer-Service angegeben wird. Der Broker kann standardmäßig bis zu 100 Serververbindungen akzeptieren. Sie finden weitere Informationen hierzu in den Abschnitten mqsicreateconfigurableservice-Befehl und Befehl mqsireportproperties.
Der Broker kann für die Verwendung von SSL für TCP/IP-Knoten konfiguriert werden. Informationen hierzu finden Sie im Abschnitt SSL und die TCP/IP-Knoten.
Beim Öffnen einer Verbindung wird eine Nachricht mit Details der Verbindung an das Open-Terminal gesendet; es werden keine Daten an dieses Terminal weitergeleitet. Verwenden Sie das Open-Terminal, wenn eine Verarbeitung bereits beim Öffnen einer Verbindung und nicht erst bei der Ankunft der ersten Daten erforderlich ist. Der Ausgabedatenstrom für die Verbindung wird reserviert, bis die Weitergabe der geöffneten Nachricht beendet wurde (geschieht unverzüglich, wenn das Terminal keinen anderen Knoten zugeordnet ist). Die Optionen auf der Registerkarte Erweitert des Knotens gelten nicht für geöffnete Ereignisse. Sie sind nur anwendbar, wenn die ersten Daten an der Verbindung ankommen und an das Ausgabeterminal weitergegeben werden.
Der erste Datensatz wird gemäß den Eigenschaften im Knoten festgestellt und dann an das Ausgangsterminal gesendet. Falls ein Fehler auftritt (dazu zählt auch eine Zeitlimitüberschreitung beim Warten auf Daten oder die Aufhebung einer Verbindung beim Warten auf den vollständigen Datensatz), werden die Daten an das Fehlerterminal (Failure) gesendet. Wenn die Verbindung geschlossen wird und keine Daten vorhanden sind, wird eine Nachricht an das Close-Terminal gesendet. Selbst wenn die Nachricht keine Daten aufweist, verfügt die lokale Umgebung über Details zur aufgehobenen Verbindung.
Sowohl bei daten- als auch aufhebungsbezogenen Ereignissen wird die folgende lokale Umgebung erstellt.
Position in der lokalen Umgebung | Beschreibung |
---|---|
$LocalEnvironment/TCPIP/Input/ConnectionDetails/Type | Der Server |
$LocalEnvironment/TCPIP/Input/ConnectionDetails/Hostname | Der Hostname für die Herstellung einer Verbindung |
$LocalEnvironment/TCPIP/Input/ConnectionDetails/Port | Die Portnummer für die Herstellung einer Verbindung |
$LocalEnvironment/TCPIP/Input/ConnectionDetails/OpenTimestamp | Die Zeitmarke für die erste Öffnung der Verbindung |
$LocalEnvironment/TCPIP/Input/ConnectionDetails/CloseTimestamp | Die Zeitmarke für das Schließen der Verbindung (null, wenn noch nicht geschlossen) |
$LocalEnvironment/TCPIP/Input/ConnectionDetails/SequenceNumber/InputRecord | Die Folgenummer der in dieser Verbindung empfangenen Nachricht. Der erste Datensatz hat die Folgenummer 1, der zweite Datensatz die Folgenummer 2 usw. |
$LocalEnvironment/TCPIP/Input/ConnectionDetails/SequenceNumber/OutputRecord | Die Folgenummer der in dieser Verbindung gesendeten Nachricht. Der erste Datensatz hat die Folgenummer 1, der zweite Datensatz die Folgenummer 2 usw. |
$LocalEnvironment/TCPIP/Input/ConnectionDetails/Id | Die ID des verwendeten Sockets. Diese ID ist eine interne Kennung, die von WebSphere Message Broker zur eindeutigen Identifizierung einer Verbindung verwendet wird. |
$LocalEnvironment/TCPIP/Input/ConnectionDetails/ReplyId | Die Antwort-ID, die für diese Verbindung gespeichert ist. Hierbei kann es sich um eine beliebige Zeichenfolge handeln. |
$LocalEnvironment/TCPIP/Input/ConnectionDetails/ClientDetails/Hostname | Der vollständig qualifizierte Domänenname des Computers, über den der Client verbunden ist. |
$LocalEnvironment/TCPIP/Input/ConnectionDetails/ClientDetails/Address | Die IP-Adresse des Computers, über den der Client verbunden ist. |
Der TCPIPServerInput-Knoten befindet sich im Ablagefach TCP/IP der Palette und wird im WebSphere Message Broker Toolkit 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 TCPIPServerInput-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.
Alle verbindlichen Eigenschaften, für die kein Standardwert definiert ist, sind mit einem Stern markiert.
Konfigurieren Sie den TCPIPServerInput-Knoten:
<mcd><Msd>MRM</Msd><Set>DHM4UO906S001</Set><Type>receiptmsg1</Type>
<Fmt>XML</Fmt></mcd>
Wenn Sie Werte festlegen, die sich von denen im MQRFH2-Header unterscheiden, haben die Werte im MQRFH2-Header Vorrang.
Wenn Sie Datensatzerkennung auf Ende des Datenstroms, Feste Länge oder Mit Begrenzer setzen, gilt für die Datensätze eine Längenbeschränkung von 100 MB. Wenn Sie Datensatzerkennung auf Syntaktisch analysierte Folge setzen, führt der TCPIPServerInput-Knoten keine Ermittlung der Datensatzlänge durch und begrenzt diese auch nicht. Die im Nachrichtenfluss nachgeordneten Knoten können die Datensatzlänge entweder ermitteln oder lange Datensätze verarbeiten. Wenn lange Datensätze auf diese Weise verarbeitet werden sollen, müssen Sie sicherstellen, dass Ihr Broker über ausreichend Arbeitsspeicher verfügt. Um den verfügbaren Speicher optimal zu nutzen, müssen möglicherweise die im Beispiel für umfangreiche Nachrichtenausgaben beschriebenen Nachrichtenflusstechniken angewandt werden.
In der folgenden Tabelle werden die Terminals des TCPIPServerInput-Knotens beschrieben.
Terminal | Beschreibung |
---|---|
Fehlerterminal (Failure) | Das Ausgabeterminal, an das die Nachricht geleitet wird, wenn ein Fehler auftritt.Dazu gehören auch Fehler, die durch die Wiederholungsverarbeitung verursacht werden. Selbst wenn die Eigenschaft 'Auswerten' festgelegt wird, werden Nachrichten, die an dieses Terminal weitergegeben wurden, nicht ausgewertet.) |
Open-Terminal | Das Ausgabeterminal, an das eine Nachricht geleitet wird, wenn sie das erste Mal geöffnet wird. Verwenden Sie das Open-Terminal, wenn eine Verarbeitung bereits beim Öffnen einer Verbindung und nicht erst bei der Ankunft der ersten Daten erforderlich ist. |
Ausgang | Das Ausgabeterminal, an das die Nachricht geleitet wird, wenn sie erfolgreich von einer externen Ressource abgerufen wurde. Wenn im Empfangsknoten keine Fehler auftreten, wird eine von einer externen Ressource empfangene Nachricht immer zuerst an das Ausgangsterminal gesendet. |
Close | Das Ausgabeterminal, an das die Nachricht weitergeleitet wird, wenn die Verbindung aufgehoben wird. |
Catch-Terminal | Das Ausgabeterminal, an das die Nachricht geleitet wird, wenn nachgeschaltet eine Ausnahmebedingung ausgegeben und von diesem Knoten abgefangen wurde. Ausnahmen werden nur abgefangen, wenn dieses Terminal angeschlossen ist. |
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 Eigenschaften für die Beschreibung des TCPIPServerInput-Knotens beschrieben.
Eigenschaft | O | K | Standardwert | Beschreibung |
---|---|---|---|---|
Knotenname | Nein | Nein | TCPIPServerInput | 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 TCPIPServerInput-Knotens beschrieben.
Eigenschaft | O | K | Standardwert | Beschreibung | Eigenschaft des Befehls mqsiapplybaroverride |
---|---|---|---|---|---|
Verbindungsdetails | Ja | Ja | Eine Zeichenfolge, die die Portnummer, die verwendet werden soll, oder den Namen eines konfigurierbaren Service enthält. | connectionDetails | |
Zeitlimitüberschreitung bei Warten auf Datensatz (Sekunden) | Ja | Ja | 60 | Gibt an, wie lange der Knoten an einer Verbindung auf weitere Daten wartet, nachdem das erste Datenbyte eingegangen ist. Sie können einen beliebigen Zeitwert in Sekunden angeben. | timeoutWaitingForData |
In der folgenden Tabelle werden die erweiterten Eigenschaften des TCPIPServerInput-Knotens beschrieben.
Eigenschaft | O | K | Standardwert | Beschreibung |
---|---|---|---|---|
Verbindung schließen | Ja | Nein | Nein | Steuert, wann die Verbindung aufgehoben wird, oder ob sie geöffnet bleibt. Folgende Optionen sind gültig:
|
Eingabedatenstrom nach Empfang eines Datensatzes schließen | Ja | Nein | Nicht ausgewählt | Gibt an, ob der Eingabedatenstrom geschlossen werden soll, sobald die Daten abgerufen wurden. Wenn der Eingabedatenstrom der Verbindung reserviert ist, kann er ohne Kenntnis der ID von keinem anderen Knoten verwendet werden. Diese Option ist standardmäßig nicht ausgewählt. |
Änderung Eingabedatenstrom | Nein | Nein | Unverändert lassen | Gibt an, ob der Eingabedatenstrom für die Verwendung durch Eingangs- und
Empfangsknoten, die eine Verbindungs-ID angeben, reserviert werden soll oder, falls reserviert, ob
der Datenstrom am Ende des Flusses freigegeben werden soll. Folgende Optionen sind gültig:
|
Änderung Ausgabedatenstrom | Nein | Nein | Unverändert lassen | Gibt an, ob dieser Ausgabedatenstrom freigegeben und zur Nutzung durch andere Sendeknoten an den Pool zurückgegeben wird. Folgende Optionen sind gültig:
|
In der folgenden Tabelle werden die Eigenschaften von 'Syntaxanalyse der Eingabenachricht' des TCPIPServerInput-Knotens beschrieben.
Eigenschaft | O | K | Standardwert | Beschreibung | Eigenschaft des Befehls mqsiapplybaroverride |
---|---|---|---|---|---|
Nachrichtendomäne | Nein | Nein | BLOB (Binary large object) | Die Domäne für die Syntaxanalyse der eingehenden Nachricht. | |
Nachrichtenmodell | Nein | Nein | Der Name oder die Position des Nachrichtenmodells, in dem die eingehende Nachricht definiert ist. | ||
Nachricht | Nein | Nein | Der Name bzw. die Position eines globalen Elements, das ein gesamtes Datendokument modelliert und in der Schemadatei des Nachrichtenmodells enthalten ist. Diese Liste wird mit allen verfügbaren Nachrichten gefüllt, die in dem von Ihnen ausgewählten Nachrichtenmodell definiert sind. | ||
Physisches Format | Nein | Nein | Der Name des physischen Formats der ankommenden Nachricht. | ||
ID des codierten Nachrichtenzeichensatzes | Ja | Nein | Systemstandardwert des Brokers | Die ID des codierten Zeichensatzes, anhand dessen die gerade gelesenen Daten interpretiert werden. | messageCodedCharSetIdProperty |
Nachrichtenverschlüsselung | Ja | Nein | Ermitteltes Brokersystem | Das Codeumsetzungsschema für Zahlen und umfangreiche Zeichen, anhand dessen die gerade gelesenen Daten interpretiert werden. Gültige Werte sind Ermitteltes Brokersystem oder ein numerischer Codierungswert. Weitere Informationen zur Codierung finden Sie unter Datenkonvertierung. | messageEncodingProperty |
In der folgenden Tabelle werden die Eigenschaften der Parser-Optionen für den TCPIPServerInput-Knoten beschrieben.
Eigenschaft | O | K | Standardwert | Beschreibung |
---|---|---|---|---|
Zeitpunkt für Syntaxanalyse | Nein | Nein | Bei Bedarf | Durch diese Eigenschaft wird gesteuert, zu welchem Zeitpunkt eine Eingabenachricht syntaktisch analysiert wird. Gültige Werte sind:
Eine vollständige Beschreibung dieser Eigenschaft finden Sie unter Bedarfsgerechte Syntaxanalyse. |
Baumstruktur unter Verwendung von XML-Schemadatentypen erstellen | Nein | Nein | Nicht ausgewählt | Durch diese Eigenschaft wird gesteuert, ob die Syntaxelemente in der Nachrichtenbaumstruktur Datentypen aus dem XML-Schema enthalten. |
XMLNSC-Kompaktparser für XMLNS-Domäne verwenden | Nein | Nein | Nicht ausgewählt | Durch diese Eigenschaft wird gesteuert, ob der XMLNSC-Kompaktparser für Nachrichten in der XMLNS-Domäne verwendet wird. Wenn Sie diese Eigenschaft festlegen, werden die Nachrichtendaten in Knoten, die mit dem Ausgabeterminal verbunden sind, unter XMLNSC angezeigt, wenn es sich bei dem MQRFH2-Eingabeheader oder der Eigenschaft Nachrichtendomäne unter 'Syntaxanalyse der Eingabenachricht' um XMLNS handelt. |
Zugriff auf gemischten Inhalt | Nein | Nein | Nicht ausgewählt | Mit dieser Eigenschaft können Sie steuern, ob der XMLNSC-Parser Elemente in der Nachrichtenbaumstruktur erstellt, wenn er gemischten Text in einer Eingabenachricht feststellt. Wenn Sie das Kontrollkästchen aktivieren, werden Elemente für gemischten Text erstellt. Andernfalls wird gemischter Text ignoriert und es werden keine Elemente erstellt. |
Kommentare beibehalten | Nein | Nein | Nicht ausgewählt | Mit dieser Eigenschaft können Sie steuern, ob der XMLNSC-Parser Elemente in der Nachrichtenbaumstruktur erstellt, wenn er Kommentare in einer Eingabenachricht feststellt. Wenn Sie das Kontrollkästchen aktivieren, werden Elemente für Kommentare erstellt. Andernfalls werden Kommentare ignoriert und es werden keine Elemente erstellt. |
Verarbeitungsanweisung beibehalten | Nein | Nein | Nicht ausgewählt | Mit dieser Eigenschaft können Sie steuern, ob der XMLNSC-Parser Elemente in der Nachrichtenbaumstruktur erstellt, wenn er Verarbeitungsanweisungen in einer Eingabenachricht feststellt. Wenn Sie das Kontrollkästchen aktivieren, werden Elemente für Verarbeitungsanweisungen erstellt. Andernfalls werden Verarbeitungsanweisungen ignoriert und es werden keine Elemente erstellt. |
Nicht transparente Elemente | Nein | Nein | Leer | Über diese Eigenschaft wird eine Liste von Elementen in der Eingabenachricht angegeben, die vom XMLNSC-Parser nicht transparent analysiert werden sollen. |
In der folgenden Tabelle werden die Datensatz- und Elementeigenschaften des TCPIPServerInput-Knotens beschrieben:
Eigenschaft | O | K | Standardwert | Beschreibung |
---|---|---|---|---|
Datensatzerkennung | Ja | Nein | Ende des Datenstroms | Der Mechanismus zur Identifikation von Datensätzen in der Eingabedatei. Folgende Optionen sind gültig:
|
Länge (Bytes) | Ja | Nein | 0 | Die Länge der einzelnen Datensätze in Bytes, wenn die Datensatzerkennung Feste Länge ausgewählt ist. |
Begrenzer | Ja | Nein | DOS- oder UNIX-Linienende | Die Art der Begrenzerbytes, mit denen die einzelnen Datensätze getrennt oder
beendet werden, wenn die Datensatzerkennung Mit
Begrenzer ausgewählt ist. Folgende Optionen sind gültig:
|
Angepasster Begrenzer (hexadezimal) | Nein | Nein | Die hexadezimal ausgedrückten Begrenzerbytes, wenn die Datensatzerkennung Mit Begrenzer und Angepasster Begrenzer (hexadezimal) ausgewählt sind. Diese Eigenschaft ist nur obligatorisch, wenn die Eigenschaft Begrenzer auf Angepasster Begrenzer (hexadezimal) gesetzt ist. | |
Begrenzertyp | Ja | Nein | Postfix | Die Position des Begrenzers, wenn die Datensatzerkennung
Mit Begrenzer und
Angepasster Begrenzer (hexadezimal) ausgewählt sind. Folgende Optionen sind gültig:
|
In der folgenden Tabelle werden die Wiederholungseigenschaften des TCPIPServerInput-Knotens beschrieben:
Eigenschaft | O | K | Standardwert | Beschreibung | Eigenschaft des Befehls mqsiapplybaroverride |
---|---|---|---|---|---|
Wiederholungsmechanismus | Ja | Nein | Failure | Handhabung eines Flussfehlers durch den Knoten Folgende Optionen sind gültig:
|
|
Wiederholungsschwellenwert | Ja | Ja | 0 | Mit diesem Wert wird angegeben, wie oft die Flusstransaktion wiederholt werden soll, wenn für Wiederholungsmechanismus Kurze Wiederholungszeit angegeben ist. | retryThreshold |
Kurzes Wiederholungsintervall (Sekunden) | Nein | Ja | 0 | Das Intervall in Sekunden zwischen den Wiederholungen, wenn für den Wiederholungsschwellenwert ein Wert ungleich null angegeben ist. | shortRetryThreshold |
Langes Wiederholungsintervall (Sekunden) | Nein | Ja | 300 | Das Intervall zwischen Wiederholungen, wenn für den Wiederholungsmechanismus die Option Kurze und lange Wiederholungszeit angegeben ist und der Wiederholungsschwellenwert erreicht wurde. | longRetryThreshold |
In der folgenden Tabelle werden die Auswertungseigenschaften des TCPIPServerInput-Knotens beschrieben.
Eine umfassende Beschreibung dieser Eigenschaften finden Sie unter Auswertungseigenschaften.
Eigenschaft | O | K | Standardwert | Beschreibung | Eigenschaft des Befehls mqsiapplybaroverride |
---|---|---|---|---|---|
Auswertung | Nein | Ja | Keine | Durch diese Eigenschaft wird gesteuert, ob eine Auswertung stattfindet. Gültige Werte sind:
|
validateMaster |
Fehlerbehebungsmaßnahme | Nein | Nein | Ausnahme | Durch diese Eigenschaft wird gesteuert, was beim Fehlschlagen der Auswertung
geschieht. Gültige Werte sind:
|
In der folgenden Tabelle werden die Transaktionseigenschaften des TCPIPServerInput-Knotens beschrieben:
Eigenschaft | O | K | Standardwert | Beschreibung |
---|---|---|---|---|
Transaktionsmodus | Nein | Ja | Nein | Der Transaktionsmodus auf diesem Empfangsknoten ist entscheidend dafür, ob
die übrigen Knoten in dem Fluss unter einem Konsistenzzustand ausgeführt werden. Folgende Optionen sind gültig:
|
Eigenschaft | O | K | Standardwert | Beschreibung | Eigenschaft des Befehls mqsiapplybaroverride |
---|---|---|---|---|---|
Pool zusätzlicher Instanzen | Nein | Ja | Pool verwenden, der dem Nachrichtenfluss zugeordnet ist | Der Pool, aus dem zusätzliche Instanzen beschafft werden.
|
componentLevel |
Zusätzliche Instanzen | Nein | Ja | 0 | Die Anzahl der zusätzlichen Instanzen, die der Knoten starten kann, wenn für die Eigenschaft Pool zusätzlicher Instanzen Pool verwenden, der dem Knoten zugeordnet ist angegeben wurde. | additionalInstances |
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. |