Skip to content

UC4Service

SAIF.Services.WCF.UC4.Host.Services.UC4Service is the sole service class registered by this host, reached through the single UC4 route. It exposes eight operations — four job-invocation forms (no parameters, JSON string, positional values, key/value pairs) crossed with two identity modes (UC4Environment enum, short client id) — that gate a caller-supplied job name against an allow/deny rule list and forward allowed jobs to a downstream UC4 scheduling service.

Field Value
Service class SAIF.Services.WCF.UC4.Host.Services.UC4Service
Declared contract IUC4Service — external (SAIF.Services.WCF.Contracts, assembly identity not resolvable)*
Route UC4
Source src/WCF/SAIF.Services.WCF.UC4.Host/UC4Service.cs
Service attributes [AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)], [LogErrorBehavior] (external IServiceBehavior)
Instancing / concurrency Not declared — WCF defaults (PerSession / Single)
Binding Not configured; ServiceHostFactory applies WCF protocol mapping, which maps http to basicHttpBinding by default*
Class-level authorization None in code
Error handling [LogErrorBehavior] applied — contributes logging, not fault shaping; see Faults and error pipeline
Operations 8 (4 marked [Obsolete])
Also hosted in — registered by exactly one host, on exactly one route name, in exactly one solution

The contract interface IUC4Service is not declared anywhere in this repository. Every operation section below is therefore derived from the public members of this class, not from the contract interface; the caveat is stated once here and not repeated per operation.


ExecuteJob

(Obsolete) Invokes a job identified by a UC4Environment enum value with no caller-supplied parameters, by converting the enum to a client id and delegating to ExecuteJobWithClientId.

Field Value
Operation name ExecuteJob
Contract name Not observable — contract assembly is external
SOAP action Not observable — contract assembly is external
Implementing member UC4Service.ExecuteJob (src/WCF/SAIF.Services.WCF.UC4.Host/UC4Service.cs:139)
Pattern Request/response
Binding basicHttpBinding (WCF protocol-mapping default)*
Obsolete Yes — [Obsolete("The Enums for Enviroments is not kept up to date, please use method that takes in number for clientID")] (UC4Service.cs:138)
Authorization None in code
Process OP-001

ExecuteJob input message

Part Type Required Default Purpose
environment SAIF.Core.Contracts.UC4.UC4Environment* Not observable — external contract** — Selects the environment; converted internally to a short client id
jobName string Not observable — external contract** — The job to invoke

ExecuteJob output message

Field Value
Return type UC4Result (SAIF.Core.Contracts.UC4)*
Meaning The mapped downstream result on success; a default-constructed UC4Result when the job is blocked
Empty-result behavior A blocked job returns new UC4Result() and discards the explanatory message — BR-UC4-005

ExecuteJob faults

Fault Declared in host source Raised when Surfaced as Detail crosses the boundary
Unmapped enum value No fault metadata visible locally** UC4EnvironmentFactory.GetUC4ClientId(environment) throws for an unmapped value** Generic SOAP fault produced by the framework Yes — includeExceptionDetailInFaults="true"
Delegated failures No fault metadata visible locally** Any failure mode of ExecuteJobWithClientId Generic SOAP fault produced by the framework Yes

Whether IUC4Service declares a [FaultContract] for any of these faults is Not observable — external contract**; the host source only shows that no FaultException is constructed locally. See Faults and error pipeline.

ExecuteJob side effects

Aspect Finding
Records written None locally — the downstream service may write job-execution state, out of scope
Downstream calls UC4Client.ScheduleJob (via delegation to ExecuteJobWithClientId)
Shared state touched None
Repeat-call behavior Not idempotent from the host's perspective — each call forwards a new job-execution request to the downstream scheduler

ExecuteJobWithClientId

Invokes a job identified by a short client id with no caller-supplied parameters (forwarded as an empty value array).

Field Value
Operation name ExecuteJobWithClientId
Contract name Not observable — contract assembly is external
SOAP action Not observable — contract assembly is external
Implementing member UC4Service.ExecuteJobWithClientId (src/WCF/SAIF.Services.WCF.UC4.Host/UC4Service.cs:145)
Pattern Request/response
Binding basicHttpBinding (WCF protocol-mapping default)*
Obsolete No
Authorization None in code
Process OP-002

ExecuteJobWithClientId input message

Part Type Required Default Purpose
environment short Not observable — external contract** — The client id identifying the environment
jobName string Not observable — external contract** — The job to invoke

ExecuteJobWithClientId output message

Field Value
Return type UC4Result*
Meaning The mapped downstream result on success; a default-constructed UC4Result when the job is blocked
Empty-result behavior BR-UC4-005

ExecuteJobWithClientId faults

Fault Declared in host source Raised when Surfaced as Detail crosses the boundary
Delegated failures No fault metadata visible locally** Any failure mode of ExecuteJobWithValuesAndClientId (delegates with an empty value array) Generic SOAP fault produced by the framework Yes

Whether IUC4Service declares a [FaultContract] for any of these faults is Not observable — external contract**; the host source only shows that no FaultException is constructed locally. See Faults and error pipeline.

ExecuteJobWithClientId side effects

Aspect Finding
Records written None locally
Downstream calls UC4Client.ScheduleJob (via delegation to ExecuteJobWithValuesAndClientId)
Shared state touched None
Repeat-call behavior Not idempotent from the host's perspective

ExecuteJobWithJson

(Obsolete) Invokes a job identified by a UC4Environment enum value with parameters supplied as a JSON-encoded string.

Field Value
Operation name ExecuteJobWithJson
Contract name Not observable — contract assembly is external
SOAP action Not observable — contract assembly is external
Implementing member UC4Service.ExecuteJobWithJson (src/WCF/SAIF.Services.WCF.UC4.Host/UC4Service.cs:152)
Pattern Request/response
Binding basicHttpBinding (WCF protocol-mapping default)*
Obsolete Yes — [Obsolete("The Enums for Enviroments is not kept up to date, please use method that takes in number for clientID")] (UC4Service.cs:151)
Authorization None in code
Process OP-003

ExecuteJobWithJson input message

Part Type Required Default Purpose
environment UC4Environment* Not observable — external contract** — Selects the environment; converted internally to a client id
jobName string Not observable — external contract** — The job to invoke
jsonKeyValuePairs string Not observable — external contract** — Job parameters as a single JSON-encoded KeyValuePair<string,string>[]; bounded by maxStringContentLength = 5242880

ExecuteJobWithJson output message

Field Value
Return type UC4Result*
Meaning The mapped downstream result on success; a default-constructed UC4Result when the job is blocked
Empty-result behavior BR-UC4-005

ExecuteJobWithJson faults

Fault Declared in host source Raised when Surfaced as Detail crosses the boundary
JSON deserialization failure No fault metadata visible locally** JsonConvert.DeserializeObject fails on malformed jsonKeyValuePairs, parsed before the allow/deny gate — BR-UC4-013 Generic SOAP fault produced by the framework Yes
Delegated failures No fault metadata visible locally** Any failure mode of ExecuteJobWithJsonAndClientId Generic SOAP fault produced by the framework Yes

Whether IUC4Service declares a [FaultContract] for any of these faults is Not observable — external contract**; the host source only shows that no FaultException is constructed locally. See Faults and error pipeline.

ExecuteJobWithJson side effects

Aspect Finding
Records written None locally
Downstream calls UC4Client.ScheduleJob (via delegation to ExecuteJobWithJsonAndClientId)
Shared state touched None
Repeat-call behavior Not idempotent from the host's perspective

ExecuteJobWithJsonAndClientId

Invokes a job identified by a short client id with parameters supplied as a JSON-encoded string.

Field Value
Operation name ExecuteJobWithJsonAndClientId
Contract name Not observable — contract assembly is external
SOAP action Not observable — contract assembly is external
Implementing member UC4Service.ExecuteJobWithJsonAndClientId (src/WCF/SAIF.Services.WCF.UC4.Host/UC4Service.cs:159)
Pattern Request/response
Binding basicHttpBinding (WCF protocol-mapping default)*
Obsolete No
Authorization None in code
Process OP-004

ExecuteJobWithJsonAndClientId input message

Part Type Required Default Purpose
environment short Not observable — external contract** — The client id identifying the environment
jobName string Not observable — external contract** — The job to invoke
jsonKeyValuePairs string Not observable — external contract** — Job parameters as a single JSON-encoded KeyValuePair<string,string>[]; bounded by maxStringContentLength = 5242880

ExecuteJobWithJsonAndClientId output message

Field Value
Return type UC4Result*
Meaning The mapped downstream result on success; a default-constructed UC4Result when the job is blocked
Empty-result behavior BR-UC4-005

ExecuteJobWithJsonAndClientId faults

Fault Declared in host source Raised when Surfaced as Detail crosses the boundary
jobName null No fault metadata visible locally** Enforce.ArgumentNotNull(jobName, "jobName") — BR-UC4-004 Generic SOAP fault produced by the framework Yes
JSON deserialization failure No fault metadata visible locally** JsonConvert.DeserializeObject fails on malformed jsonKeyValuePairs, parsed before the allow/deny gate — BR-UC4-013 Generic SOAP fault produced by the framework Yes
Rule document missing/malformed No fault metadata visible locally** rules.UC4Rules.Environments dereferenced unguarded* Generic SOAP fault produced by the framework Yes
Downstream failure No fault metadata visible locally** Any exception constructing UC4Client or calling the downstream service Generic SOAP fault produced by the framework Yes

Whether IUC4Service declares a [FaultContract] for any of these faults is Not observable — external contract**; the host source only shows that no FaultException is constructed locally. See Faults and error pipeline.

ExecuteJobWithJsonAndClientId side effects

Aspect Finding
Records written None locally
Downstream calls UC4Client.ScheduleJob
Shared state touched None
Repeat-call behavior Not idempotent from the host's perspective

ExecuteJobWithValues

(Obsolete) Invokes a job identified by a UC4Environment enum value with parameters supplied as an ordered list of positional values.

Field Value
Operation name ExecuteJobWithValues
Contract name Not observable — contract assembly is external
SOAP action Not observable — contract assembly is external
Implementing member UC4Service.ExecuteJobWithValues (src/WCF/SAIF.Services.WCF.UC4.Host/UC4Service.cs:180)
Pattern Request/response
Binding basicHttpBinding (WCF protocol-mapping default)*
Obsolete Yes — [Obsolete("The Enums for Enviroments is not kept up to date, please use method that takes in number for clientID")] (UC4Service.cs:179)
Authorization None in code
Process OP-005

ExecuteJobWithValues input message

Part Type Required Default Purpose
environment UC4Environment* Not observable — external contract** — Selects the environment; converted internally to a client id
jobName string Not observable — external contract** — The job to invoke
values params string[] Not observable — external contract** Empty array Positional parameters, named arg1, arg2, and each subsequent positional argument name before forwarding — BR-UC4-009

ExecuteJobWithValues output message

Field Value
Return type UC4Result*
Meaning The mapped downstream result on success; a default-constructed UC4Result when the job is blocked
Empty-result behavior BR-UC4-005

ExecuteJobWithValues faults

Fault Declared in host source Raised when Surfaced as Detail crosses the boundary
Delegated failures No fault metadata visible locally** Any failure mode of ExecuteJobWithValuesAndClientId Generic SOAP fault produced by the framework Yes

Whether IUC4Service declares a [FaultContract] for any of these faults is Not observable — external contract**; the host source only shows that no FaultException is constructed locally. See Faults and error pipeline.

ExecuteJobWithValues side effects

Aspect Finding
Records written None locally
Downstream calls UC4Client.ScheduleJob (via delegation to ExecuteJobWithValuesAndClientId)
Shared state touched None
Repeat-call behavior Not idempotent from the host's perspective

ExecuteJobWithValuesAndClientId

Invokes a job identified by a short client id with parameters supplied as an ordered list of positional values. This is the canonical operation flow — see Operations and processes.

Field Value
Operation name ExecuteJobWithValuesAndClientId
Contract name Not observable — contract assembly is external
SOAP action Not observable — contract assembly is external
Implementing member UC4Service.ExecuteJobWithValuesAndClientId (src/WCF/SAIF.Services.WCF.UC4.Host/UC4Service.cs:186)
Pattern Request/response
Binding basicHttpBinding (WCF protocol-mapping default)*
Obsolete No
Authorization None in code
Process OP-006

ExecuteJobWithValuesAndClientId input message

Part Type Required Default Purpose
environment short Not observable — external contract** — The client id identifying the environment
jobName string Not observable — external contract** — The job to invoke
values params string[] Not observable — external contract** Empty array Positional parameters, named arg1, arg2, and each subsequent positional argument name before forwarding — BR-UC4-009

ExecuteJobWithValuesAndClientId output message

Field Value
Return type UC4Result*
Meaning The mapped downstream result on success; a default-constructed UC4Result when the job is blocked
Empty-result behavior BR-UC4-005

ExecuteJobWithValuesAndClientId faults

Fault Declared in host source Raised when Surfaced as Detail crosses the boundary
jobName null No fault metadata visible locally** Enforce.ArgumentNotNull(jobName, "jobName") — BR-UC4-004 Generic SOAP fault produced by the framework Yes
Rule document missing/malformed No fault metadata visible locally** rules.UC4Rules.Environments dereferenced unguarded* Generic SOAP fault produced by the framework Yes
Downstream failure No fault metadata visible locally** Any exception constructing UC4Client or calling the downstream service Generic SOAP fault produced by the framework Yes

Whether IUC4Service declares a [FaultContract] for any of these faults is Not observable — external contract**; the host source only shows that no FaultException is constructed locally. See Faults and error pipeline.

ExecuteJobWithValuesAndClientId side effects

Aspect Finding
Records written None locally
Downstream calls UC4Client.ScheduleJob
Shared state touched None
Repeat-call behavior Not idempotent from the host's perspective

ExecuteJobWithParameters

(Obsolete) Invokes a job identified by a UC4Environment enum value with parameters supplied as key/value pairs, forwarded unmodified.

Field Value
Operation name ExecuteJobWithParameters
Contract name Not observable — contract assembly is external
SOAP action Not observable — contract assembly is external
Implementing member UC4Service.ExecuteJobWithParameters (src/WCF/SAIF.Services.WCF.UC4.Host/UC4Service.cs:200)
Pattern Request/response
Binding basicHttpBinding (WCF protocol-mapping default)*
Obsolete Yes — [Obsolete("The Enums for Enviroments is not kept up to date, please use method that takes in number for clientID")] (UC4Service.cs:199)
Authorization None in code
Process OP-007

ExecuteJobWithParameters input message

Part Type Required Default Purpose
environment UC4Environment* Not observable — external contract** — Selects the environment; converted internally to a client id
jobName string Not observable — external contract** — The job to invoke
parameters IEnumerable<KeyValuePair<string,string>> Not observable — external contract** — Named job parameters, forwarded to the downstream service without inspection

ExecuteJobWithParameters output message

Field Value
Return type UC4Result*
Meaning The mapped downstream result on success; a default-constructed UC4Result when the job is blocked
Empty-result behavior BR-UC4-005

ExecuteJobWithParameters faults

Fault Declared in host source Raised when Surfaced as Detail crosses the boundary
Delegated failures No fault metadata visible locally** Any failure mode of ExecuteJobWithParametersAndClientId Generic SOAP fault produced by the framework Yes

Whether IUC4Service declares a [FaultContract] for any of these faults is Not observable — external contract**; the host source only shows that no FaultException is constructed locally. See Faults and error pipeline.

ExecuteJobWithParameters side effects

Aspect Finding
Records written None locally
Downstream calls UC4Client.ScheduleJob (via delegation to ExecuteJobWithParametersAndClientId)
Shared state touched None
Repeat-call behavior Not idempotent from the host's perspective

ExecuteJobWithParametersAndClientId

Invokes a job identified by a short client id with parameters supplied as key/value pairs, forwarded unmodified (no positional naming step, unlike the values forms).

Field Value
Operation name ExecuteJobWithParametersAndClientId
Contract name Not observable — contract assembly is external
SOAP action Not observable — contract assembly is external
Implementing member UC4Service.ExecuteJobWithParametersAndClientId (src/WCF/SAIF.Services.WCF.UC4.Host/UC4Service.cs:206)
Pattern Request/response
Binding basicHttpBinding (WCF protocol-mapping default)*
Obsolete No
Authorization None in code
Process OP-008

ExecuteJobWithParametersAndClientId input message

Part Type Required Default Purpose
environment short Not observable — external contract** — The client id identifying the environment
jobName string Not observable — external contract** — The job to invoke
parameters IEnumerable<KeyValuePair<string,string>> Not observable — external contract** — Named job parameters, forwarded to the downstream service without inspection

ExecuteJobWithParametersAndClientId output message

Field Value
Return type UC4Result*
Meaning The mapped downstream result on success; a default-constructed UC4Result when the job is blocked
Empty-result behavior BR-UC4-005

ExecuteJobWithParametersAndClientId faults

Fault Declared in host source Raised when Surfaced as Detail crosses the boundary
jobName null No fault metadata visible locally** Enforce.ArgumentNotNull(jobName, "jobName") — BR-UC4-004 Generic SOAP fault produced by the framework Yes
Rule document missing/malformed No fault metadata visible locally** rules.UC4Rules.Environments dereferenced unguarded* Generic SOAP fault produced by the framework Yes
Downstream failure No fault metadata visible locally** Any exception constructing UC4Client or calling the downstream service Generic SOAP fault produced by the framework Yes

Whether IUC4Service declares a [FaultContract] for any of these faults is Not observable — external contract**; the host source only shows that no FaultException is constructed locally. See Faults and error pipeline.

ExecuteJobWithParametersAndClientId side effects

Aspect Finding
Records written None locally
Downstream calls UC4Client.ScheduleJob
Shared state touched None
Repeat-call behavior Not idempotent from the host's perspective

Coverage checklist

Public member Documented section Pattern
UC4Result ExecuteJob(UC4Environment environment, string jobName) ExecuteJob Request/response
UC4Result ExecuteJobWithClientId(short environment, string jobName) ExecuteJobWithClientId Request/response
UC4Result ExecuteJobWithJson(UC4Environment environment, string jobName, string jsonKeyValuePairs) ExecuteJobWithJson Request/response
UC4Result ExecuteJobWithJsonAndClientId(short environment, string jobName, string jsonKeyValuePairs) ExecuteJobWithJsonAndClientId Request/response
UC4Result ExecuteJobWithValues(UC4Environment environment, string jobName, params string[] values) ExecuteJobWithValues Request/response
UC4Result ExecuteJobWithValuesAndClientId(short environment, string jobName, params string[] values) ExecuteJobWithValuesAndClientId Request/response
UC4Result ExecuteJobWithParameters(UC4Environment environment, string jobName, IEnumerable<KeyValuePair<string,string>> parameters) ExecuteJobWithParameters Request/response
UC4Result ExecuteJobWithParametersAndClientId(short environment, string jobName, IEnumerable<KeyValuePair<string,string>> parameters) ExecuteJobWithParametersAndClientId Request/response

Non-operation public members (UC4Service(), UC4Service(IEnvironmentService), Dispose(), ERR_JOB_NOT_ALLOWED, ERR_JOB_NAME_INVALID, ERR_PARAMETER_NAME_INVALID, APP_NAME) are excluded — see Overview and Tech debt for the constants that are never actually returned to a caller.

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.UC4.Host/UC4Service.cs
  • src/WCF/SAIF.Services.WCF.UC4.Host/Uc4Client.cs
  • src/WCF/SAIF.Services.WCF.UC4.Host/Web.config