This document covers the following topics:
Logging on Using Short Broker Passwords (all Interface Types)
Logging on Using Long Broker Passwords (z/OS with Call Interface)
This section explains how clients built with the COBOL Wrapper use explicit broker logon and logoff functions.
The logon call is the first call to the broker, before any RPC call.
The COMM-ETB-USER-ID field (and the COMM-ETB-TOKEN field, where provided)
must not change from logon, through all calls of client interface objects, until final logoff.
The logoff call should be issued as soon as RPC communication is no longer needed. This is similar to
LOGONand LOGOFF,
USER-ID and TOKEN and
Authentication under Writing Applications using EntireX Security in the ACI Programming documentation.
To use explicit broker logon and logoff you need the following components:
the Delivered Modules are provided to log on to and log off from the broker
the copybook ERXCOMM if a 32-byte broker password is sufficient; see RPC communication area Copybook ERXCOMM
the copybook ERXVSTR to use a long broker password; see RPC communication area Copybook ERXVSTR
We strongly recommend using SSL/TLS if you send an authentication as described here with the COBOL Wrapper to a secure partner. See also SSL/TLS Parameters for SSL Clients under SSL/TLS, HTTP(S), and Certificates with EntireX in the platform-independent Administration documentation.
This approach allows a maximum of 32 bytes for the broker password. The code you write depends on the interface type:
This interface type applies to the scenarios CICS | Batch | IMS.
To log on to the Broker with a short password
ERXCOMM is Used under Step 1: Declare and Initialize the RPC Communication Area in section Writing Standard Call Interface Clients.
Log on to the broker with the logon function LO provided by the generic RPC services module,
using the Call Interface.
* Set function broker logon
MOVE "LO" TO COMM-FUNCTION.
* Set broker user ID in RPC Communication Area
MOVE "COB-USER" TO COMM-ETB-USER-ID.
* Optionally set broker password/kernelsecurity to use EntireX Security
MOVE "COB-PASS" TO COMM-ETB-PASSWORD.
MOVE "Y" TO COMM-KERNEL-SECURITY.
* Call generic RPC service module to call broker (see Note 1)
CALL "COBSRVI" USING ERX-COMMUNICATION-AREA
ON EXCEPTION
* Perform error-handling
NOT ON EXCEPTION
IF (COMM-RETURN-CODE = 0) THEN
* Perform success-handling
ELSE
* Perform error-handling (see Note 2)
END-IF
END-CALL.
* begin of application logic
...
Issue your RPC requests as usual, without using explicit logon and logoff.
To log off from the Broker with a short password
Log off from the broker with the log off function LF provided by the generic RPC services module,
using a CALL statement.
This interface type applies to the scenario Using the COBOL Wrapper for CICS with DFHCOMMAREA Calling Convention (z/OS and z/VSE).
To log on to the Broker with a short password
Declare the RPC communication area as described under Step 1: Declare IDL Structures and RPC Communication Area in section Writing EXEC CICS LINK Clients.
Initialize the RPC communication area as described under Step 2: Initialize the RPC Communication Area under Writing EXEC CICS LINK Clients.
Log on to the broker with the logon function LO provided by the generic RPC services module, using EXEC CICS LINK.
. . .
MOVE "LO" TO COMM-FUNCTION.
* Set broker user ID in RPC Communication Area
MOVE "COB-USER" TO COMM-ETB-USER-ID.
* Optionally set broker password/kernelsecurity to use EntireX Security
MOVE "COB-PASS" TO COMM-ETB-PASSWORD.
MOVE "Y" TO COMM-KERNEL-SECURITY.
* Call generic RPC service module to call broker
EXEC CICS LINK PROGRAM ("COBSRVI")
RESP (CICS-RESP1)
RESP2 (CICS-RESP2)
COMMAREA (ERX-COMMUNICATION-AREA)
LENGTH (LENGTH OF ERX-COMMUNICATION-AREA)
END-EXEC.
IF WORKRESP = DFHRESP(NORMAL)
IF (COMM-RETURN-CODE = 0) THEN
* Perform success-handling
ELSE
* Perform error-handling (see Note 2)
END-IF
ELSE
* Perform error-handling
END-IF.
* begin of application logic
...
Issue your RPC requests as usual, without using explicit logon and logoff.
To log off from the Broker with a short password
Log off from the broker with the log off function LF provided by the generic RPC services module, using EXEC CICS LINK.
Notes:
ERXCOMM only, pass only the address of ERXCOMM to the generic RPC service module.
COMM-RETURN-CODE in the RPC communication area contains the error provided by the COBOL Wrapper.
For the error messages returned, see Error Messages and Codes.
This section applies to the scenarios
CICS,
Batch and
IMS with the CALL interface.
With this approach you can use long passwords. It requires the ERXVSTR copybook.
The RPC communication area extension copybook ERXVSTR is generated for
Target Operating System z/OS and RPC clients using a call interface to its client interface object,
meaning one of the following Client Interface Types is selected:
To log on to the Broker with a long password
ERXCOMM and ERXVSTR are Used under Step 1: Declare and Initialize the RPC Communication Area in section Writing Standard Call Interface Clients.
Log on to the broker with the logon function LO provided by the generic RPC services module,
using the Call Interface.
* Set function broker logon
MOVE "LO" TO COMM-FUNCTION.
* Set broker user ID/kernelsecurity in RPC Communication Area
MOVE "COB-USER" TO COMM-ETB-USER-ID.
MOVE "Y" TO COMM-KERNEL-SECURITY.
* set long broker password in RPC Variable String Area
INSPECT ETBPWD TALLYING STR-LENGTH FOR CHARACTERS BEFORE SPACE.
MOVE 1 TO STR-OFFSET.
MOVE STR-OFFSET TO COMM-ETB-PASSWORD-OFFSET.
MOVE STR-LENGTH TO COMM-ETB-PASSWORD-LENGTH.
STRING ETBPWD DELIMITED BY SPACE INTO
COMM-STRING-AREA WITH POINTER STR-OFFSET.
* Call generic RPC service module to call broker
CALL "COBSRVI" USING ERX-COMMUNICATION-AREA
ERX-COMMUNICATION-VSTR.
ON EXCEPTION
* Perform error-handling
NOT ON EXCEPTION
IF (COMM-RETURN-CODE = 0) THEN
* Perform success-handling
ELSE
* Perform error-handling (see Note 2)
END-IF
END-CALL.
. . .
To log off from the Broker with a long password
See the following code snippet:
. . .
* Set function broker logoff
MOVE "LF" TO COMM-FUNCTION.
* Set broker user ID in RPC Communication Area
MOVE "COB-USER" TO COMM-ETB-USER-ID.
* Call generic RPC service module to call broker (see Note 1)
CALL "COBSRVI" USING ERX-COMMUNICATION-AREA
ERX-COMMUNICATION-VSTR.
ON EXCEPTION
* Perform error-handling
NOT ON EXCEPTION
IF (COMM-RETURN-CODE = 0) THEN
* Perform success-handling
ELSE
* Perform error-handling (see Note 2)
END-IF
END-CALL.
. . .
Notes:
ERXCOMM,
then the address of ERXVSTR to the generic RPC service module.
COMM-RETURN-CODE in the RPC communication area contains the error provided by the COBOL Wrapper.
For the error messages returned, see Error Messages and Codes.