Skip to content

OP-020: Resolve an ADP employee id to a plain user id

GetUserIdForEmployeeId is invoked over the Security route on SAIF.Services.WCF.Services.Security.SecurityService; this page documents the process end to end, from route dispatch to the message the caller receives.

Field Value
Operation ID OP-020
Trigger Caller invokes GetUserIdForEmployeeId over the Security route.
Entry operation GetUserIdForEmployeeId
Owning component SAIF.Services.WCF.Services.Security.SecurityService.GetUserIdForEmployeeId
Inputs Request message parts listed below
Outputs The UserId from the matching Employee row.
Failure behavior Generic SOAP fault, per Faults and error pipeline

Request and response

Direction Element Type Declared in Notes
Request employeeId string BCL (System) ADP employee identifier whose associated user id is requested. (Yes)
Response string string BCL (System) The UserId from the matching Employee row.

Steps

  1. LogRequestDetails logs the operation name and arguments (BR-WCF-032).
  2. Query Employee by upper-cased id and return UserId, or "" when no row matches (BR-WCF-022a).
  3. On failure: an Oracle/NHibernate exception is logged by the installed error handler and surfaced as a generic SOAP fault with exception detail included.

Process flow

The following diagram visualizes this process's control flow.

flowchart TD
    A["LogRequestDetails logs the operation name and arguments ."]
    B["Query Employee by upper-cased id"]
    B1{"Row found?"}
    B2["Found: return UserId"]
    B3["No row matches: return ''"]
    A --> B
    B --> B1
    B1 -->|"Yes"| B2
    B1 -->|"No"| B3

Transaction and side effects

Aspect Finding
Unit of work OracleUnitOfWorkFactory (EXTUR)
Commit point Not applicable — read only
Records written Employee (read only)
Downstream calls None
Shared state touched None
Repeat-call behavior Idempotent read

Logging

Surface Written content
HttpContext.Current.Response.AppendToLog (LogRequestDetails) Writes IIS request-detail log lines when LOG_REQUEST_DETAILS is enabled
ErrorLogErrorHandler → LogService Failure-path exception logging only, carrying method signature, calling user and exception detail; see Faults and error pipeline

Faults and error handling

Failure Fault type the caller receives Produced by Source
Oracle/NHibernate exception Generic SOAP fault The ErrorLogErrorHandler installed by [LogErrorBehavior] src/WCF/SAIF.Services.WCF.Host/Services/Security/Users/UserFactory.cs

Authorization

Requirement Enforced by Source Applies to
None in code IIS authentication on the deployment (see Activation and hosting) src/WCF/SAIF.Services.WCF.Host/Services/Security/SecurityService.cs This operation

Note: Statements marked with * were inferred from code structure, naming conventions, or contextual evidence where direct confirmation was not available in source artifacts. Statements marked with ** could not be confirmed; treat as unknown until verified.

Sources

  • src/WCF/SAIF.Services.WCF.Host/Services/Security/SecurityService.cs
  • src/WCF/SAIF.Services.WCF.Host/Services/Security/Users/UserFactory.cs