API zur Bereitstellung eines RPC-Kontexts von der Natural RPC-Client-Seite

#### Search Results

Search

# API zur Bereitstellung eines RPC-Kontexts von der Natural RPC-Client-Seite

Dieses Kapitel beschreibt die Anwendungsprogrammierschnittstelle `RPC-CNTX`, die zur Bereitstellung eines RPC-Kontexts von der Natural RPC-Client-Seite aus verwendet werden kann.

- RPC-CNTX

## RPC-CNTX

Die API `RPC-CNTX` kann verwendet werden, um einen Kontext für RPC-Aufrufe bereitzustellen, wie es in Testprogrammen geschieht, die mit dem webMethods EntireX Natural Wrapper generiert werden.

`RPC-CNTX` kombiniert die Funktionalität mehrerer APIs und ist in der Library `SYSTEM` verfügbar. Es sind keine zusätzlichen Vorbereitungen wie das Festlegen einer Steplib oder das Kopieren von APIs aus der Library `SYSEXT` in die User Libraries erforderlich.

Um die API RPC-CNTX zu benutzen:

1. Geben Sie ein `DEFINE DATA`-Statement an, wobei die Ebene `01` durch `01 RPC-CNTX-AREA` definiert ist, und geben Sie die folgenden Parameter auf Ebene `02` an:

   Parameter | Format | I/O | Beschreibung
   --- | --- | --- | ---
   `FUNCTION` | A2 | I |
   `'SL'` | Setzt den RPC-Kontext in Abhängigkeit von den angegebenen Parametern und meldet sich beim EntireX Broker an.
   `'SC'` | Setzt den RPC-Kontext in Abhängigkeit von den angegebenen Parametern.
   `'GC'` | RPC-Kontext abfragen. Standardmäßig beziehen sich die erforderlichen Informationen auf den Standardserver.
   `'LO'` | Anmelden beim EntireX Broker.
   `'LF'` | Abmelden beim EntireX Broker.
   `BROKERID` | A dynamic | I/O | Geben Sie den Broker-Namen an. Siehe den Schlüsselwort-Subparameter `SRVNODE` des Profilparameters `RPC`.
   `CLASS` | A32 | I | Geben Sie die Klasse des Servers an. Bei Natural RPC Servern ist dies `RPC`. Siehe den Schlüsselwort-Subparameter `SRVNAME` des Profilparameters `RPC`.
   `SERVER` | A32 | I/O | Geben Sie den Namen des Servers an. Siehe den Schlüsselwort-Subparameter `SRVNAME` des Profilparameters `RPC`.
   `SERVICE` | A32 | I | Geben Sie den Typ des Servers an. Bei Natural RPC Servern ist dies `CALLNAT`.
   `COMPRESSLEVEL` | A1 | I/O | Komprimierungsstufe erfordert API-Version 7.
   `RESERVED` | I1 | I/O | Reserviert für künftige Verwendung.
   `RPC-LIBRARY` | A8 | I |
   `RPC-RELIABLE-STATE` | N1 | I/O |
   `0` | Reliable RPC (Standard-RPC-Ausführung)
   `1` | Reliable RPC (`AUTO_COMMIT`)
   `2` | Reliable RPC (`Client_COMMIT`)
   `NAT-LOGON` | A11 | I/O |
   `EXX-USERID` | A32 | I |
   `EXX-PASSWORD` | A32 | I |
   `RPC-USERID` | A32 | I |
   `RPC-PASSWORD` | A32 | I |
   `ERR-CODE` | I4 | O | Der Ursprung eines Fehlercodes kann anhand der folgenden Identifikatoren ermittelt werden:
   `USR1071N`,(`USR4371N`) | 1nnnn
   `USR6304N` | 2nnnn
   `USR2007N` | 3nnnn
   `USR4008N` | 5nnnn
   `USR4009N` | 8nnnn
   `USR2071N` | 9nnnn
   `ERR-TEXT` | A dynamisch | O |
   `RPC-ETID` | A8 | I | Impersonation ohne Passwortüberprüfung zulassen (optional).

   Anmerkung
   Die wichtigsten Funktionscodes sind `'SL'` und `'LF'`. Der Funktionscode `'SL'` ist eine Kombination aus dem Setzen des RPC-Kontextes (`'SC'`) und einer Anmeldung am EntireX Broker (`'LO'`).

2. Geben Sie im aufrufenden Programm auf der Client-Seite das folgende Statement an:

       CALLNAT 'RPC-CNTX' RPC-CNTX-AREA

   Weitere Informationen finden Sie unter Syntax-Beschreibung beim `CALLNAT`-Statement in der Statements-Dokumentation.

Die Einstellung des RPC-Kontextes wird wie folgt verarbeitet:

1. Legen Sie die Anmeldeinformationen für den RPC-Server durch Angabe von `RPC-USERID` und `RPC-PASSWORD` fest (API `USR1071N`).

2. Setzen Sie den Modus für Reliable RPC durch Angabe von `RPC-RELIABLE-STATE` (API `USR6304N`).

3. Setzen Sie die Daten für den RPC-Standard-Server einschließlich der Logon-Option durch Angabe von `BROKERID`, `SERVER` und `NAT-LOGON` (API `USR2007N`).

4. Ändern Sie den Library-Namen auf dem RPC-Server für die Anmeldung durch Angabe von `RPC-LIBRARY` (API `USR4008N`). Wenn der Name leer gelassen wird, wird die API nicht aufgerufen.

5. Setzen Sie die Parameter für EntireX `COMPRESSLEVEL`, indem Sie API `USR4009N` verwenden. Wenn keine Werte angegeben werden, wird die API nicht aufgerufen.

6. Legen Sie optional eine ETID fest, indem Sie `RPC-ETID` (API `USR4371N`) angeben, wenn für den Natural RPC Server Impersonation ohne Passwortprüfung aktiv ist.

7. Für die Anmeldung am EntireX Broker geben Sie `BROKERID`, `EXX-USERID` und `EXX-PASSWORD` an, die dann an `USR2071N` übergeben werden.

Nachdem Sie die Arbeit an der RPC-Verbindung beendet haben, müssen Sie sich über `RPC-CNTX` mit dem Funktionscode `'LF'` beim EntireX Broker abmelden.