Skip to content

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

Operation Process
ExecuteJob OP-001
ExecuteJobWithClientId OP-002
ExecuteJobWithJson OP-003
ExecuteJobWithJsonAndClientId OP-004
ExecuteJobWithValues OP-005
ExecuteJobWithValuesAndClientId OP-006
ExecuteJobWithParameters OP-007
ExecuteJobWithParametersAndClientId OP-008

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

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