Try OpenEdge Now
skip to main content
ABL Reference
Class Properties and Methods Reference : GetClientPrincipal( ) method (Progress.Lang.OERequestInfo)
 

GetClientPrincipal( ) method (Progress.Lang.OERequestInfo)

Returns a handle to a client principal object in an OERequestInfo instance, or the Unknown value (?).
Note: This method creates a deep copy of the client principal object that will remain in memory until you explicitly remove it in your ABL code.
Return type: HANDLE
Access: PUBLIC
Applies to: Progress.Lang.OERequestInfo class

Syntax

GetClientPrincipal( )
The bold code in the following fragment shows the assignment of a handle to the client principal in a server's OERequestInfo instance.
DEFINE VARIABLE hAppSrv      as HANDLE.
DEFINE VARIABLE hCPIn        as HANDLE.
DEFINE VARIABLE hCPOut       as HANDLE.
DEFINE VARIABLE ccid         as CHARACTER.
DEFINE VARIABLE bOK          as LOGICAL.
DEFINE VARIABLE loginState   as CHARACTER.

CREATE SERVER hAppSrv.
ccid = hAppSrv:REQUEST-INFO:clientContextID.

CREATE CLIENT-PRINCIPAL hCPIn.
hCPIn:INITIALIZE("userName@domainName", ccid, ?, "password").

hAppSrv:REQUEST-INFO:SetClientPrincipal(hCPIn).

bOK = hAppSrv:CONNECT("-URL AppServerDC://asHost:asPort/svc").

hCPOut = hAppSrv:RESPONSE-INFO:GetClientPrincipal().
IF VALID-HANDLE(hCPOut)
THEN loginState = hCPOut:LOGIN-STATE.
ELSE loginState = ?.

. . .

IF VALID-HANDLE(hCPOut)
THEN DELETE OBJECT hCPOut.

See also

CURRENT-REQUEST-INFO attribute, CURRENT-RESPONSE-INFO attribute, LOCAL-VERSION-INFO attribute, REQUEST-INFO attribute, RESPONSE-INFO attribute, SetClientPrincipal( ) method