Operations¶
This host publishes one service class, UC4Service, with eight operations reached through the single UC4 route. The [ServiceContract] interface (IUC4Service) is not in this repository, so every operation name, parameter, and return type below is read from the implementing class's public members, not from the contract interface.
This page is the operation catalog and hub. UC4Service's operations are documented in detail on contracts/uc4-service.md.
Operation surface derivation¶
| Aspect | Finding |
|---|---|
| Authoritative surface | Route registration (UC4) + implementing class public members |
| Contract assembly | SAIF.Services.WCF.Contracts (namespace) — external* |
[OperationContract] visible in repository |
No — contract assembly is external |
| Operation naming | Not observable — external contract** |
| Metadata document | ?wsdl published (<serviceMetadata httpGetEnabled="true"/>) |
Because the contract interface is not in the repository, the catalog below is built entirely from the public members of UC4Service (src/WCF/SAIF.Services.WCF.UC4.Host/UC4Service.cs). Any [OperationContract] name override, [FaultContract] declaration, or documentation comment on the interface could not be inspected — this is the normal, expected state for this host, not a documentation gap. Each row below is marked * for that reason.
Service class catalog¶
| Service class | Route | Contract | Operations | Documentation |
|---|---|---|---|---|
UC4Service |
UC4 |
IUC4Service — external* |
8 | Details |
Contract assembly¶
| Aspect | Finding |
|---|---|
| Assembly | SAIF.Services.WCF.Contracts (namespace; assembly identity not resolvable from this project)* |
| Location | External to this repository* |
| Referenced by | SAIF.Services.WCF.UC4.Host (via using-alias only; no <Reference>, no <ProjectReference>, no packages.config entry) |
| Contract interfaces | IUC4Service |
| Arrives via | SAIF.Framework.Core 2.0.23079.1 (transitive)* |
| Inspected | No — resolved by name from using directives only |
- The contract assembly is referenced by name and is not present in this repository. Operation names, parameters, and return types on this page are read from the implementing class. Any
[OperationContract]name override,[FaultContract]declaration, or documentation comment on the interface could not be inspected.
Operation catalog¶
| Operation | Service class | Input message | Output message | Faults | Auth | Rules |
|---|---|---|---|---|---|---|
ExecuteJob (Obsolete) |
UC4Service |
UC4Environment environment, string jobName |
UC4Result |
Not observable — external contract** | None in code | BR-UC4-001, BR-UC4-006, BR-UC4-009 |
ExecuteJobWithClientId |
UC4Service |
short environment, string jobName |
UC4Result |
Not observable — external contract** | None in code | BR-UC4-001, BR-UC4-009 |
ExecuteJobWithJson (Obsolete) |
UC4Service |
UC4Environment environment, string jobName, string jsonKeyValuePairs |
UC4Result |
Not observable — external contract** | None in code | BR-UC4-001, BR-UC4-006, BR-UC4-013 |
ExecuteJobWithJsonAndClientId |
UC4Service |
short environment, string jobName, string jsonKeyValuePairs |
UC4Result |
Not observable — external contract** | None in code | BR-UC4-001, BR-UC4-004, BR-UC4-013 |
ExecuteJobWithValues (Obsolete) |
UC4Service |
UC4Environment environment, string jobName, params string[] values |
UC4Result |
Not observable — external contract** | None in code | BR-UC4-001, BR-UC4-006, BR-UC4-009 |
ExecuteJobWithValuesAndClientId |
UC4Service |
short environment, string jobName, params string[] values |
UC4Result |
Not observable — external contract** | None in code | BR-UC4-001, BR-UC4-004, BR-UC4-009 |
ExecuteJobWithParameters (Obsolete) |
UC4Service |
UC4Environment environment, string jobName, IEnumerable<KeyValuePair<string,string>> parameters |
UC4Result |
Not observable — external contract** | None in code | BR-UC4-001, BR-UC4-006 |
ExecuteJobWithParametersAndClientId |
UC4Service |
short environment, string jobName, IEnumerable<KeyValuePair<string,string>> parameters |
UC4Result |
Not observable — external contract** | None in code | BR-UC4-001, BR-UC4-004 |
Dispatch diagram¶
The following diagram visualizes how a caller reaches a handling operation.
flowchart TD
REQ["SOAP request"] --> ROUTE{"Route match"}
ROUTE -->|"UC4"| SVC["UC4Service"]
ROUTE -->|"No match"| NF["No service at address<br>IIS 404 before dispatch"]
SVC --> BEHAVIOR["LogErrorBehavior<br>observability only"]
BEHAVIOR --> OPSEL{"Operation selected<br>by SOAP action"}
OPSEL -->|"ExecuteJob (enum)"| CONV1["Convert enum to<br>client id, delegate"]
OPSEL -->|"ExecuteJobWithJson (enum)"| CONV2["Convert enum to<br>client id, delegate"]
OPSEL -->|"ExecuteJobWithValues (enum)"| CONV3["Convert enum to<br>client id, delegate"]
OPSEL -->|"ExecuteJobWithParameters (enum)"| CONV4["Convert enum to<br>client id, delegate"]
OPSEL -->|"AndClientId forms"| GATE["IsJobAllowed<br>uc4.rules evaluation"]
CONV1 --> GATE
CONV2 --> GATE
CONV3 --> GATE
CONV4 --> GATE
GATE -->|"blocked"| EMPTY["Return empty UC4Result"]
GATE -->|"allowed"| CLIENT["UC4Client forwards job<br>to downstream service"]
CLIENT --> OK["Response message"]
EMPTY --> OK
CLIENT --> FAULT["Unhandled exception<br>surfaced with full detail"]
GATE --> FAULT
Operations by process¶
Coverage¶
| Check | Result |
|---|---|
| Service classes registered in the route table | 1 |
Service classes with a contracts/ page |
1 |
| Public operations across all service classes | 8 |
| Rows in the operation catalog | 8 |
Operations marked [Obsolete] |
4 |
Related documentation¶
- Index
- Overview
- Architecture
- Activation and hosting
- Faults and error pipeline
- Authentication and authorization
- Dependencies
- Configuration
- Operations and processes
- Business rules
- 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/WCF/SAIF.Services.WCF.UC4.Host/UC4Service.cssrc/WCF/SAIF.Services.WCF.UC4.Host/Global.asax.cssrc/WCF/SAIF.Services.WCF.UC4.Host/Web.configsrc/WCF/SAIF.Services.WCF.UC4.Host/SAIF.Services.WCF.UC4.Host.csprojsrc/WCF/SAIF.Services.WCF.UC4.Host/packages.config