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 auf 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 Ordnungszahl an, die jedem Server während der Registrierung zugewiesen wurde. Die Schnittstelle sendet dann eine Shutdown-Anforderung mit der Ordnungszahl an den EntireX Broker.
Um USR8213N zu verwenden:
Copy the subprogram USR8213N
from the library
SYSEXT to the library SYSTEM or to the steplib library, or to any application
in the Natural RPC server environment and proceed as described on the text
object USR8213T
in the library SYSEXT
.
Kopieren Sie das Subprogramm USR8213N
aus der
Bibliothek SYSEXT
in die Bibliothek SYSTEM
oder in
die Steplib-Bibliothek oder in eine beliebige Anwendung in der
Natural-RPC-Server-Umgebung und verfahren Sie wie im Textobjekt
USR8213T
in der Bibliothek 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 Parameter PASSWORD
(Format
A128).
Um USR9175N zu verwenden:
Siehe die ähnliche Anleitung bei USR2073N
.
Die Anwendungsprogrammierschnittstelle (API) USR9176N
ist eine erweiterte Version der API
USR8208N
mit einem erweiterten Parameter PASSWORD
(Format
A128).
Um USR9176N zu verwenden:
Siehe die ähnliche Anleitung bei
USR8208N
.
Die Anwendungsprogrammierschnittstelle (API) USR9177N
ist eine erweiterte Version der API
USR8213N
mit dem erweiterten Parameter PASSWORD
(Format
A128).
Um USR9177N zu verwenden:
Siehe die ähnliche Anleitung bei
USR8213N
.
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
,
ESCAPE
TERMINATE
).
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.