Managing context from the ABL client with OERequestInfo objects
- Last Updated: April 24, 2023
- 2 minute read
- OpenEdge
- Version 12.2
- Documentation
OpenEdge context information accessible by an ABL client provides:
- OpenEdge version information for the current ABL client — The client session can
access the
LOCAL-VERSION-INFOattribute on itsSESSIONsystem handle to find its OpenEdge Release information. This object reference attribute returns aProgress.Lang.OEVersionInfoclass instance and itsOEMajorVersion,OEMinorVersion, andOEMaintVersionproperties provide the version information. - PAS for OpenEdge version information on the current ABL
client — This identifies the OpenEdge Release information for a PAS for OpenEdge
instance that handles a remote request for the client. The client can access the
Release information for a connected PAS for OpenEdge instance using the
VersionInfoproperty on theOERequestInfoinstance returned by the server object handle'sRESPONSE-INFOattribute. - Client context identifier for the next request — This
is the value of the
ClientContextIdproperty on theOERequestInfoinstance referenced by the server handle'sREQUEST-INFOattribute when the client makes a remote request. The client application can change this value before each request, typically when the client is also a PAS for OpenEdge session in order to propagate the originating client context identifier to yet another PAS for OpenEdge instance in a multi-tier application. Otherwise, by default, the value of the property available through the server handle'sRESPONSE-INFOattribute is used from the most recent PAS for OpenEdge response. The next PAS for OpenEdge session can retrieve this property value on theOERequestInfoinstance referenced by theCURRENT-REQUEST-INFOattribute on itsSESSIONhandle. - Client context identifier for the most recent server
response — The client can access the client context identifier returned by
the server for the most recently executed request as the value of the
ClientContextIdproperty on theOERequestInfoinstance referenced by theRESPONSE-INFOattribute on the server object handle (or the asynchronous object handle returned for an asynchronous request). This value can be different from theClientContextIdproperty value sent by the client for the most recently executed request if the server session code changed the value for its response. -
Identifier for each request — The client automatically
generates a globally unique identifier for each request in the
RequestIdproperty on theOERequestInfoinstance referenced by the server handle'sREQUEST-INFOattribute. The PAS for OpenEdge session can read this property value on theOERequestInfoinstance referenced by itsSESSIONhandle'sCURRENT-REQUEST-INFOorCURRENT-RESPONSE-INFOattribute. This value is read-only and cannot be changed by any application code. - Identifier for the most recent request — The identifier for the previous request
executed on a client's server object handle is the
RequestIdproperty value on theOERequestInfoinstance referenced by theRESPONSE-INFOattribute on the server object handle (or the asynchronous object handle returned for an asynchronous request).
For more information on these class properties and handle attributes, see the ABL Reference.
In addition to maintaining context for a client and PAS for OpenEdge connection, you can use the client context identifier as the key to implementing several multi-tier security models. For more information, see Implementing multi-tier security models.