GetUserFAX (OP-15)¶
Request and response¶
| Part | Type | Description |
|---|---|---|
inUserId |
String |
The SamAccountName to look up. |
inExternalDomain |
Boolean |
Selects external.saif.com when True, corp.saif.com when False (BR-07). |
| Part | Type | Description |
|---|---|---|
<return> |
ADServiceResponse |
Response (EResponse code) and Message (the facsimileTelephoneNumber attribute value on success). |
WebMethod attributes¶
<WebMethod()> — bare, no arguments supplied.
Steps¶
- No access check is performed (BR-06).
- Initialize
myStruc.Response = Success,myStruc.Message = String.Empty. - In a
Tryblock, call H2GetUserPrincipalwith the caller-suppliedinExternalDomain(BR-07). - If the principal is
Nothing, setResponse = UserDoesNotExist. - Otherwise, get the underlying
DirectoryEntryand assignMessage = de.Properties.Item("facsimileTelephoneNumber").Value, a late-bound COM property read (BR-27). Catch: setResponse = Failure,Message = ex.Message.Finally: releaseuserPrinandde.- Return the
ADServiceResponsesentinel.
An unset facsimileTelephoneNumber attribute is not distinguished from any other directory exception; both surface as Failure with a .NET exception message rather than a dedicated response code*.
Process flow¶
flowchart TD
A["Call GetUserFAX"] --> B["GetUserPrincipal<br>caller-selected domain"]
B -->|"Nothing"| C["Response = UserDoesNotExist"]
B -->|"Found"| D["Read facsimileTelephoneNumber<br>via GetUnderlyingObject"]
D -->|"Success"| E["Message = fax value<br>Response = Success"]
D -->|"Exception"| F["Response = Failure<br>Message = ex.Message"]
C --> G["Return ADServiceResponse"]
E --> G
F --> G
Shared state effects¶
None — this operation touches no process-wide state; all locals are per-request.
Error handling¶
This operation never faults: every failure path, including an unset facsimileTelephoneNumber attribute or a directory exception, is caught and mapped to Response = Failure with ex.Message in Message. See Faults for the service-wide fault model.
Authorization¶
None in code. This is one of the eleven ungated operations that disclose directory data to any caller who can reach the endpoint (see Authentication and authorization and Tech debt).
Related documentation¶
- Service index
- Overview
- Architecture
- Activation and hosting
- Operations
- Operations and processes
- Business rules
- Authentication and authorization
- Configuration
- Dependencies
- Faults
- Operational runbook
- Tech debt
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\ADUserServices\clsADUserServices.asmx.vb(lines 619-647)