RP/TMA 8.1 (SNA/Gateway) - how to get userid in GWSNAX when call done without user (no tpinit) (Doc ID 777482.1)

Last updated on NOVEMBER 04, 2016

Applies to:

Oracle Tuxedo / TMA SNA / 8.1
Information in this document applies to any platform

Goal

DESCRIPTION:
In customers Tuxedo application, there are adapters that are running as daemons. 
These adapters are waked up by message from queue (/Q) and do some SQL Query in Oracle and send it via core Tuxedo
application to TMA 8.1.

The following is the detailed process:

The daemons are Tuxedo services : Daemon1, daemon2 etc
Server "wakeup" advertises service "WAKEUP".
"WAKEUP" is also the name of a queue in /Q
This queue is dequeued by TMQFORWARD server.

"wakeup" is booted when Tuxedo application boots.

During tpsrvinit, WAKEUP server reads service names (daemons services) and its "sleep time", creates
messages and tpenqueues them to /Q "WAKEUP", with time expiration.

In Service cycle, WAKEUP server reads incoming message from TMQFORWARD. Sends it to SERVICE (daemon) by tpacall with
flag TPNOREPLY, duplicate incoming message and enqueues it to /Q with time expiration.

Each Daemon service selects message from Oracle DB and sends it to a "dispatcher" server.
This "dispatcher" server calls a service, local or remote depending on data it has received.

The remote services are performed in CICS and the request is transmitted by TMA gateway GWSNAX

 But TMA logs error because userid is not mapped to TMA. 
Since this request was done by a server, which was not set up by a client doing a tpinit. 
The origin of the request is the first message writes in /Q during the execution of function tpsvrinit.
 
151204.tuxa!GWSNAX.21568.1.0: LIBGWS_CAT:2847: ERROR: SECURITY: Unable to get remote username from shared memory using
local principal name.

Checked that in this case the server that calls the remote CICS service has the appkey= x 80000000. This appkey is the
key of the client "tpsysadm"

The purpose of the enhancement is:
When a request has no userid, if appkey= x80000000 and if security is ON, GWSNAX should use userid
"tpsysadm". Need map "tpsysadm" to a CICS user using mapping table in dmconfig.

CONFIGURATION:
TMA SNA 8.1 RP4 in gateway and CRM with Tuxedo 8.1 RP273
HP UX.11.23
Z/OS 1.4
CICS TS 2.2
They use security in Tuxedo, TMA SNA and in CICS
The security level in TMA and CICS is "identify" that means a valid userid has to be send with each request
from Tuxedo to CICS

Solution

Sign In with your My Oracle Support account

Don't have a My Oracle Support account? Click to get started

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms