In diesem Kapitel wird beschrieben, wie Sie einen Natural RPC Server beenden können. Dies kann entweder durch das Beenden eines einzelnen RPC-Server-Replikats oder des EntireX-Broker-Dienstes, der die RPC-Verbindung unterstützt, erfolgen. Es gibt mehrere Vorgehensweisen.
Diese Methode zum Beenden eines Natural RPC Servers kann entweder bei einem einzelnen RPC-Server-Replikat oder dem EntireX Broker-Dienst angewendet werden.
Benutzen Sie das Kommando TE (Terminate RPC Server) in der
SYSRPC
Utility, wie unter RPC-Server beenden in der SYSRPC
Utility-Dokumentation beschrieben.
Anmerkung
Ein Natural RPC Server kann nur beendet werden, wenn der Server zurzeit weder ein
entferntes CALLNAT ausführt noch auf die nächste
CALLNAT-Anforderung in einer Konversation wartet.
Mit dem Befehl LN (List Server with Sequence Number) können
Sie die Server, die mit dem Kommando TE beendet werden
sollen, aus einer detaillierten Liste von Replikaten auswählen, die die einem Server
zugewiesene Folgenummer enthält. Weitere Informationen siehe RPC-Server beenden in der SYSRPC
Utility-Dokumentation.
Verwenden Sie das Kommando TS (Terminate EntireX Broker
Service) in der SYSRPC Utility, wie unter RPC-Server beenden in der SYSRPC
Utility-Dokumentation beschrieben.
Wählen Sie zum Abmelden die Schaltfläche in der Teilbaumstruktur des EntireX System Management Hub. Sie können auch die Schaltfläche in der Teilbaumstruktur des EntireX System Management Hub verwenden.
Die Anwendungsprogrammierschnittstelle (API) USR2073N ermöglicht es Ihnen,
einen Natural RPC Server anzupingen oder zu beenden.
Die Schnittstelle sendet ein PING- oder TERMINATE-Kommando an
einen RPC-Server, der durch den Knotennamen und den Servernamen angegeben wird. Die
zurückgegebene Nachricht enthält die folgenden Informationen:
die Version des laufenden Servers (PING) bzw.
die Bestätigung der Beendigung (TERMINATE) oder
eine Fehlermeldung.
Um USR2073N zu benutzen:
Kopieren Sie das Subprogramm USR2073N aus der Library
SYSEXT in die Library SYSTEM oder in die Steplib Library
oder in eine beliebige Anwendung in der Serverumgebung.
Geben Sie mit einem DEFINE
DATA-Statement im Structured Mode oder einem RESET-Statement im Reporting
Mode die folgenden Parameter an:
| Parameter | Format | I/O | Beschreibung | |
|---|---|---|---|---|
FUNCTION |
A10 | I | PING |
Fragt den RPC-Server nach seiner Version. |
TERMINATE |
Leitet die Beendigung der Natural RPC Server-Task ein. | |||
SRVNODE |
A192 | I | Knotenname.
Siehe
Schlüsselwort-Subparameter |
|
SRVNAME |
A32 | I | Name des Servers.
Siehe
Schlüsselwort-Subparameter |
|
LOGON |
A1 | I | Das Logon-Flag Y (ja) zeigt an, dass Anmeldedaten an den Natural RPC Server übermittelt werden müssen. | |
USER-ID |
A8 | I | Wenn LOGON=Y,
dann sind Benutzerkennung und Passwort die Anmeldedaten für Natural
Security.
Wenn der Client nicht unter Natural Security (NSC) läuft und
das Logon-Flag gesetzt ist, müssen die Benutzerkennung und das Passwort
angegeben werden, es sei denn, die Daten sind über die
Anwendungsprogrammierschnittstelle |
|
PASSWORD |
||||
MSG |
A79 | O | Zurückgegebene Nachricht. | |
RC |
I2 | O | Rückgabecode. Mögliche Werte: | |
0 |
MSG enthält eine normale Nachricht vom
RPC-Server oder EntireX Broker.
|
|||
1 |
MSG enthält eine Fehlermeldung vom RPC-Server
oder EntireX Broker.
|
|||
2 |
MSG enthält eine Fehlermeldung vom
Interface.
|
|||
3 |
Natural Security-Fehler. | |||
Bevor Sie die API aufrufen, füllen Sie die oben aufgeführten Input-Variablen.
Über die Anwendungsprogrammierschnittstelle (API) USR2075N können Sie einen
EntireX-Brokerdienst aus Ihrer Anwendung heraus zu beenden.
Mit dem Kommando TERMINATE-SERVICE verwendet die Schnittstelle
den Command and Information Service von EntireX, um die Aufgabe zu
erfüllen. Zunächst sendet sie eine Anmeldeanforderung an den EntireX Broker. Dann erhält
sie eine Liste aller Server, die nach Serverklasse, Servername und Diensttyp spezifiziert
ist. Schließlich sendet sie an jeden Server eine Abschaltanforderung. Eine Meldung zeigt
an, wie viele Server beendet wurden.
Mit dem Kommando PING wird der Identifikationsstring eines
Servers zurückgegeben.
Um USR2075N zu verwenden:
Kopieren Sie das Subprogramm USR2075N aus der Library
SYSEXT in die Library SYSTEM oder in die Steplib Library
oder in eine beliebige Anwendung in der Serverumgebung.
Geben Sie mit einem DEFINE
DATA-Statement im Structured Mode oder einem RESET-Statement im Reporting
Mode die folgenden Parameter an:
| Parameter | Format | I/O | Beschreibung | |
|---|---|---|---|---|
FUNCTION |
A17 | I | Geben Sie TERMINATE-SERVICE
an.
Dies sendet eine Abschaltanforderung an jeden mit den Parametern
Oder: Geben SiePING an.
Dadurch wird der Identifikationsstring eines Servers zurückgegeben. |
|
SRVNODE |
A192 | I | Geben Sie den Knotennamen an.
Siehe
Schlüsselwort-Subparameter |
|
SRVCLASS |
A32 | I | Geben Sie die Serverklasse an. Für Natural
RPC Server ist dies RPC.
|
|
SRVNAME |
A32 | I | Name des Servers.
Siehe
Schlüsselwort-Subparameter |
|
SERVICE |
A32 | I | Geben Sie die Art des Dienstes an. Bei
Natural RPC Servern ist dies CALLNAT.
|
|
IMMEDIATE |
L | TRUE |
Sofortige Beendigung aller Konversationen für den angegebenen Server. | |
FALSE |
Bestehende Konversationen dürfen normal beendet werden; neue Konversationen werden nicht akzeptiert. | |||
USER-ID |
A32 | I | Geben Sie die Benutzerkennung für die Anmeldung beim EntireX Broker an. | |
PASSWORD |
A32 | I | Wenn die EntireX Broker Security aktiv
ist: Geben Sie das Passwort für den EntireX Broker an.
Wenn die Security
von EntireX Broker aktiv ist, müssen Sie ein Passwort angeben. Wenn die
Security von EntireX Broker die Trusted User ID- Technik verwendet (nur
auf Großrechnern), können Sie anstelle eines Benutzerpassworts das
reservierte Passwort |
|
MSG |
A (dynamic) | O | Zurückgegebene Nachricht. | |
RC |
I2 | O | Rückgabecode. Mögliche Werte: | |
0 |
MSG enthält eine normale Nachricht vom EntireX
Broker.
|
|||
1 |
MSG enthält eine Fehlermeldung vom
EntireX-Broker..
|
|||
3 |
MSG enthält eine Fehlermeldung von Natural
Security auf der Client-Seite.
|
|||
Bevor Sie die API aufrufen, geben Sie die oben aufgeführten Input-Variablen ein.
Die Anwendungsprogrammierschnittstelle (API) USR8208N ist eine erweiterte
Version der API USR2075N mit den folgenden neuen Funktionen:
Mit dem Kommando TERMINATE-SERVICE verwendet die
Schnittstelle den Command and Information Service von EntireX, um
die Aufgabe zu erfüllen. Das Kommando SHUTDOWN-SERVICE wird
an den EntireX Broker gesendet, wenn dessen Version 5 oder höher ist. Es werden
Versionsinformationen über den EntireX-Broker und den Befehls- und Informationsdienst
selbst zurückgeliefert. Ansonsten wird die gleiche Methode wie in
USR2075N verwendet.
Mit dem Kommando INFO-SERVICE werden zusätzliche
Informationen über den/die angegebenen Dienst(e) vom EntireX Broker zurückgegeben, wie
SERVER-CLASS, SERVER-NAME, SERVICE,
TRANS, CONV-NONACT usw. Eine ausführliche Beschreibung
finden Sie in der webMethods EntireX V9.0.1 Dokumentation unter
Components and Features of EntireX > ACI Programming >
Broker CIS Data Structures > Information Reply
Structures > SERVICE-OBJECT (Struct INFO_SV).
Um USR8208N zu verwenden:
Siehe die ähnliche Anweisung Um USR2075 zu verwenden.
Die Anwendungsprogrammierschnittstelle (API) USR8213N fährt einen Server auf
einem EntireX Broker-Knoten herunter.
Diese Schnittstelle ruft zunächst eine Liste der bei einem bestimmten EntireX Broker registrierten RPC-Server-Replikate ab. Für jeden Server gibt die Liste das Startdatum/die Startzeit, den Hostnamen, den Anwendungsnamen und die IP-Adresse (falls verfügbar) an. Sie gibt auch die Folgenummer an, die jedem Server während der Registrierung zugewiesen wurde. Die Schnittstelle sendet dann eine Shutdown-Anforderung mit der Folgenummer an den EntireX Broker.
Um USR8213N zu verwenden:
Kopieren Sie das Subprogramm USR8213N aus der Library
SYSEXT in die Library SYSTEM oder in die Steplib-Library
oder in eine beliebige Anwendung in der Natural-RPC-Server-Umgebung und verfahren
Sie wie im Textobjekt USR8213T in der Library SYSEXT
beschrieben.
Die Anwendungsprogrammierschnittstelle (API) USR8220N löst die Beendigung
des Natural RPC Servers aus. Nach dem Aufruf von USR8220N können Sie eine
Bestätigungsmeldung an den RPC-Client senden. Diese API ist nützlich, um den Natural RPC
Server bei schweren Fehlern explizit zu beenden.
Um USR8220N zu verwenden:
Kopieren Sie das Subprogramm USR8220N aus der Library
SYSEXT in die Library SYSTEM oder in die Steplib Library
oder in eine beliebige Anwendung in der Natural RPC Server-Umgebung.
Erstellen Sie ein Natural RPC Server-Subprogramm, das die API USR8220N
aufruft und eine optionale Bestätigungsmeldung an das RPC-Client-Programm
sendet.
Die Anwendungsprogrammierschnittstelle (API) USR9175N ist eine verbesserte
Version der API USR2073N
mit einem erweiterten PASSWORD-Parameter (Format A128) und
zusätzlichen Werten beim FUNCTION-Parameter.
| Parameter | Format | I/O | Beschreibung | |
|---|---|---|---|---|
FUNCTION |
A10 | I | Funktion. Mögliche Werte: | |
PING |
Version des RPC-Servers abfragen. | |||
TERMINATE |
Den Abschluss des Natural RPC-Server-Taks initiieren. | |||
TREACEINFO |
Status des Natural RPC-Server-Trace abfragen. | |||
TRACE0 |
Natural RPC-Server-Trace deaktvieren. | |||
TRACEn |
Natural RPC-Server-Trace mit Level
n aktivieren. Dabei ist
n ein Wert von 1 bis
9.
|
|||
TRACEnE |
Natural RPC-Server-Trace mit Level
n aktivieren, wobei
n ein Wert von 1 bis
9 ist, und das Flag für den Trace nur im Fehlerfall setzen.
|
|||
Um USR9175N zu verwenden:
Siehe die ähnliche Anleitung bei USR2073N.
Wenn Sie eine Trace-Funktion benutzen, müssen Sie die Druckdatei für den Trace beim Start des Natural RPC-Servers definieren.
Die Anwendungsprogrammierschnittstelle (API) USR9176N ist eine erweiterte
Version der API USR8208N mit einem erweiterten Parameter
PASSWORD (Format A128).
Um USR9176N zu verwenden:
Kopieren Sie das Subprogramm USR9176N aus der Library
SYSEXT in die Library SYSTEM oder in die Steplib-Library
oder in eine beliebige Anwendung in der Natural-RPC-Server-Umgebung und verfahren
Sie wie im Textobjekt USR9176T in der Library SYSEXT
beschrieben.
Die Anwendungsprogrammierschnittstelle (API) USR9177N dient
zum Beenden eines EntireX Broker Service mit einer fortlaufenden Nummer.
USR9177N ist eine erweiterte Version der API USR8213N mit
der Möglichkeit, längere Passwörter mit dem erweiterten Parameter
PASSWORD (Format A128) zu benutzen.
Um USR9177N zu verwenden:
Kopieren Sie das Subprogramm USR9177N aus der Library
SYSEXT in die Library SYSTEM oder in die Steplib-Library
oder in eine beliebige Anwendung in der Natural-RPC-Server-Umgebung und verfahren
Sie wie im Textobjekt USR9177T in der Library SYSEXT
beschrieben.
Der Schlüsselwort-Subparameter SRVTERM des Profilparameters RPC oder des
Parameter-Makros NTRPC beeinflusst das Beendigungsverhalten eines
Natural RPC Servers. Standardmäßig wird ein Server nie beendet
(SRVTERM=NEVER), es sei denn, eine der zuvor beschriebenen
Beendigungsmethoden wird angewendet.
Wenn Sie einen Attach Manager verwenden, um einen Natural RPC Server auf Anforderung
dynamisch zu starten, sollten Sie SRVTERM auf TIMEOUT setzen. Mit dieser
Parametereinstellung wird ein Natural RPC Server automatisch beendet, wenn die Wartezeit
für die nächste Client-Anforderung außerhalb einer RPC-Konversation überschritten
wird.
Dieser Exit wird aufgerufen, nachdem sich der Natural RPC Server vom Serverknoten per Deregister und Logoff abgemeldet hat.
Wird kein Programm NATRPC99 gefunden, dann wird der Server sofort wie
normalerweise beendet.
Wird das Programm NATRPC99 gefunden, läuft der Server als normale
Natural-Sitzung weiter.
NATRPC99 wird mit einem FETCH-Statement ohne Parameter aufgerufen, d.h. es werden keine
Daten auf den Natural Stack gelegt, bevor NATRPC99 aufgerufen wurde.
Sie können in NATRPC99 beliebiges Coding hinzufügen, auch Statements zur
Übergabesteuerung (FETCH,
CALLNAT, PERFORM) und Statements zur Beendigung
des Programms (STOP, ESCAPETERMINATE).
Wenn NATRPC99 mit einem RETURN- oder
STOP-Statement beendet wird, kehrt Natural zum NEXT-Prompt
zurück. Wenn der NEXT-Prompt in der verwendeten Umgebung nicht unterstützt
wird (Profilparameter CM=OFF, asynchrone Natural-Sitzung usw.), bricht
die Sitzung ab. Andernfalls versucht die Sitzung, den nächsten Befehl aus der primären
Eingabedatei bzw. dem primären Dataset für Natural-Befehle und INPUT-Daten zu lesen.
NATRPC99 muss ein Natural-Programm sein.
NATRPC99 muss sich in der Library SYSTEM in der Systemdatei
FUSER befinden. Die Steplib-Verkettung der Library, bei der der Server
gerade angemeldet ist, wird nicht ausgewertet, um NATRPC99 zu finden.
Natural-Objekte, die von NATRPC99 aufgerufen werden (FETCH, CALLNAT, PERFORM), müssen sich entweder in
der Library befinden, bei der der Server angemeldet ist, oder in einer seiner Steplibs
(einschließlich SYSTEM in der Systemdatei FUSER).
NATRPC99 wird für alle Arten von normalen Natural RPC
Server-Beendigungen aufgerufen. Er wird nicht bei Abbrüchen (Abends) aufgerufen.