Skip to content

SAIF.Services.WCF.UC4.Host overview

This host exposes UC4 job-invocation capability to SOAP callers: it accepts a caller-supplied job name (with optional parameters, supplied as a JSON string, positional values, or key/value pairs), checks the job against an environment-scoped allow/deny rule list, and forwards allowed jobs to a downstream UC4 scheduling service under the service account's identity. SAIF.Services.WCF.UC4.Host is the only host in this repository that registers this service; no other host in Framework.CoreServices.WCF registers UC4Service or the UC4 route.

Purpose

  • Accept a job-execution request from a caller, identifying the target environment either by a UC4Environment enum value (four obsolete operation forms) or by a short client id (four current operation forms).
  • Gate the request against an environment-scoped allow/deny rule document (uc4.rules) before forwarding it.
  • Forward allowed jobs, with their parameters expressed as JSON, positional values, or key/value pairs, to a downstream UC4 scheduling service, and map the downstream result onto the published UC4Result contract type.

Business context

This host participates in job scheduling for the UC4 enterprise job scheduler. It is a pass-through policy-and-adaptation layer: the scheduling itself belongs entirely to the downstream service reached through uc4coreapi.url, and this host owns only the allow/deny gate and the protocol adaptation from SOAP to the packaged downstream client. It performs no database access and owns no persisted record.*

Attribute Value
Business domain Job scheduling (UC4)
Owning team Not determined from source
Data ownership None — this host owns no persisted record; the uc4.rules allow/deny document lives in the environment settings service, and job execution state lives entirely in the downstream UC4 scheduling service
Criticality Not determined from source

Capability summary

Capability Service class Operations Description
Job invocation, no parameters UC4Service ExecuteJob (obsolete), ExecuteJobWithClientId Invokes a job with no caller-supplied parameters
Job invocation, JSON parameters UC4Service ExecuteJobWithJson (obsolete), ExecuteJobWithJsonAndClientId Invokes a job with parameters supplied as a single JSON-encoded string
Job invocation, positional values UC4Service ExecuteJobWithValues (obsolete), ExecuteJobWithValuesAndClientId Invokes a job with parameters supplied as an ordered list, named arg1, arg2, and each subsequent positional argument name in call order
Job invocation, key/value parameters UC4Service ExecuteJobWithParameters (obsolete), ExecuteJobWithParametersAndClientId Invokes a job with parameters supplied as named key/value pairs

The eight operations are four job-invocation forms crossed with two identity modes (UC4Environment enum, short client id); SOAP has no overload resolution on the wire, so each is its own operation. The four enum-typed forms are [Obsolete] and delegate to their corresponding AndClientId operation — see Business rules.

Message format

Aspect Finding
Message encoding No <endpoint> is configured; System.ServiceModel.Activation.ServiceHostFactory applies WCF protocol mapping, which maps the http scheme to basicHttpBinding by default*
Serializer Not determined from source — no binding or contract configuration was found to confirm DataContractSerializer versus XmlSerializer**
Message size limits maxReceivedMessageSize = 2147483647; maxStringContentLength = 5242880 — this bounds the largest single string element a caller may send, which directly constrains the JSON-parameter operations (ExecuteJobWithJson, ExecuteJobWithJsonAndClientId), since jsonKeyValuePairs is a single string element
Metadata document ?wsdl published (<serviceMetadata httpGetEnabled="true"/>, Web.config)

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