Example: SOAP service index¶
index.md is the landing page for a single WCF SOAP service host's documentation
set. Doc gen produces one per host project at
docs/services/<service-slug>/index.md: a fact table describing how the host is
activated and configured, a map of every page in the set, and a service class
catalog that hands off to the per-contract detail pages. The unit of
documentation is the host project, not the repository.
What reviewers should check¶
- Every row of the fact table is a finding taken from source. Activation, contract location, service behaviors, metadata publication, and deployment variants differ between hosts, so a row that reads like a WCF default is a sign nobody opened the host project.
- The Activation row names the mechanism analysis found.
.svc fileis correct here only becauseClaimIntake.svcexists on disk and is cited in the Activation source row. A.svcpath asserted because the stack is WCF is a defect; a host that registersServiceRouteentries inApplication_Startnames the route registration instead.Global.asaxcan be present without registering anything. - The Contract assembly row says whether the
[ServiceContract]interface is in the repository or external. When it is external, the contract detail pages must say so and mark undeclared members with the dagger marker. ASP.NET compatibility,Service behaviors, andMetadata publicationcarry "Not declared" or "None in code" when that is the finding. Those are valid answers, not gaps.- The service class catalog has one row per service class. The Operations count
equals the number of H2 operation sections on the contract page, and the Route
cell is the
.svcfile name or the route name actually registered. ## Embedded librariesand## Consumed SOAP proxiesappear only when the host has something to list. This host has neither, so both are absent and the Embedded libraries line is absent from## Related documentation.## Related documentationcarries every sibling root page exceptindex.mditself, drops conditional lines only because the target was not generated, and never lists per-contract detail pages.- Nothing under the set uses REST or front-end vocabulary: no HTTP verbs, route templates, status codes, or screen terms.
Example¶
The document below is a complete, correct service-index.md for a fictional WCF
service.
View rendered example — the same document as a real page, so you can compare rendering as well as source.
---
title: SOAP service documentation
summary: Entry point for .NET Framework WCF SOAP service host documentation.
status: draft
owner: Claims Systems Team
last_reviewed: 2026-09-10
---
# SOAP service documentation
`SAIF.Claims.Intake.Service` is the WCF host through which SAIF's internal applications submit a first report of injury and read back the intake status of a submitted claim. It exposes one service class, `ClaimIntake`, with three operations: one that records a new claim submission, one that returns its current intake status, and one that flags a submitted claim for manual review. The claims portal and the `SAIF.Claims.Intake.Client` proxy package call it rather than writing to the `CLM` schema directly, so claim intake has one owner and one set of rules.
| Field | Value |
| --- | --- |
| **Host project** | `SAIF.Claims.Intake.Service` |
| **Framework** | WCF (`System.ServiceModel`, .NET Framework 4.8) |
| **Host** | IIS - `Global.asax` + `Global` : `System.Web.HttpApplication` |
| **Activation** | `.svc` file |
| **Activation source** | `src/SAIF.Claims.Intake.Service/ClaimIntake.svc` |
| **Service classes** | 1 |
| **Contract assembly** | `SAIF.Claims.Intake.Service` - In repository (`src/SAIF.Claims.Intake.Service/IClaimIntake.cs`) |
| **ASP.NET compatibility** | `[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]` |
| **Service behaviors** | `[LogErrorBehavior]` |
| **Metadata publication** | `<serviceMetadata httpGetEnabled="true"/>` |
| **Deployment variants** | Single variant |
## Documentation sections
| Section | Description |
| --- | --- |
| [Overview](overview.md) | Purpose, business context, and capability summary |
| [Architecture](architecture.md) | Layering, dispatch path, composition root, and integration points |
| [Activation and hosting](activation-hosting.md) | Route registrations, host inventory, and deployment variants |
| [Operations](operations.md) | Operation catalog with per-contract detail pages |
| [Faults and error pipeline](faults.md) | Fault contracts, error handlers, and what a caller receives |
| [Authentication and authorization](authentication-authorization.md) | Identity, authorization enforcement, and role requirements |
| [Dependencies](dependencies.md) | Libraries, packages, services, and database connections |
| [Configuration](configuration.md) | Runtime-resolved configuration and the Web.config surface |
| [Operations and processes](operations-processes.md) | End-to-end processing workflows behind the operations |
| [Business rules](business-rules.md) | Rules enforced during message processing |
| [Data model](data-model.md) | Persistence model, entity mappings, and stored procedure usage |
| [Operational runbook](operational-runbook.md) | Deployment, health checks, logs, faults, error recovery |
| [Tech debt](tech-debt.md) | CRITICAL and HIGH severity findings |
## Service classes
| Service class | Route | Operations | Also hosted in | Documentation |
| --- | --- | --- | --- | --- |
| `ClaimIntake` | `ClaimIntake.svc` | 3 | - | [Docs](contracts/claim-intake.md) |
## Related documentation
- [Overview](overview.md)
- [Architecture](architecture.md)
- [Activation and hosting](activation-hosting.md)
- [Operations](operations.md)
- [Faults and error pipeline](faults.md)
- [Authentication and authorization](authentication-authorization.md)
- [Dependencies](dependencies.md)
- [Configuration](configuration.md)
- [Operations and processes](operations-processes.md)
- [Business rules](business-rules.md)
- [Data model](data-model.md)
- [Operational runbook](operational-runbook.md)
- [Tech debt](tech-debt.md)
## Sources
- `src/SAIF.Claims.Intake.Service/ClaimIntake.svc`
- `src/SAIF.Claims.Intake.Service/ClaimIntake.svc.cs`
- `src/SAIF.Claims.Intake.Service/IClaimIntake.cs`
- `src/SAIF.Claims.Intake.Service/Global.asax.cs`
- `src/SAIF.Claims.Intake.Service/Behaviors/LogErrorBehaviorAttribute.cs`
- `src/SAIF.Claims.Intake.Service/Web.config`
- `src/SAIF.Claims.Intake.Service/SAIF.Claims.Intake.Service.csproj`