---
title: Dependencies
summary: Packages, framework components, projects, and remote services this proxy depends on.
status: draft
owner: SAIF.Core documentation
last_reviewed: 2026-09-24
---

# Dependencies

`SimpleCertifiedMail` depends only on framework assemblies to compile and on the third-party `SimpleCertifiedMail ADS API`† to run; it is carried in `SAIF.Services.Web.Proxies`, which is consumed within this run as the library [`saif-services-web-proxies`](../../libraries/saif-services-web-proxies/overview.md).

## Internal dependencies

| Project | In this repository | Purpose | Usage |
| --- | --- | --- | --- |
| `SAIF.Services.Web.Proxies` | Yes | Owns and compiles the generated proxy and the `SimpleCertifiedMailServiceProxy` wrapper | Used — compiled as part of this run |
| `SAIF.Services` | Yes | Consumes the proxy wrapper | Used — calls the wrapper through `SubpoenaLabelService` and `DocumentDeferredService` |

## External dependencies

| Component | Kind | Version | Purpose | Usage |
| --- | --- | --- | --- | --- |
| `System.ServiceModel` | Framework assembly | `System.ServiceModel.dll` | `ClientBase<T>` proxy base type, `BasicHttpBinding`, `EndpointAddress` | Used — constructed by `SimpleCertifiedMailServiceProxy.cs` |
| `System.Xml` | Framework assembly | `System.Xml.dll` | `XmlDictionaryReaderQuotas` used to raise the binding's array-length quota | Used — applied when configuring the binding |
| `System.Drawing` | Framework assembly | `System.Drawing.dll` | `Bitmap`/`Image.FromStream` used by `SaveLabelAsGif` to render the base64 label image to a `.gif` file | Used — invoked by `SaveLabelAsGif` |

This proxy requires no NuGet package; it depends only on the framework assemblies above. No assembly is referenced outside the package system.

### Configuration

| Setting | Source | Required at | Usage |
| --- | --- | --- | --- |
| `SimpleCertifiedMailService.Url` | `IEnvironmentService` (implementation supplied by the host application) | Construction | Resolves the runtime endpoint address passed to the generated `ADSAPISoapClient`; not defined anywhere in this repository's own configuration; unresolved** |
| Credential fallbacks (`PartnerKey`/`UserName`/`Password`/`ClientCode`) | `IEnvironmentService`, used when not supplied on `CertifiedLabelData` | First call | Supplies account credentials in the SOAP body when the caller does not provide them; not verified against configuration files in this repository |

## Transitive dependencies

No transitive dependency was identified from source; this proxy depends only on the directly referenced framework assemblies above, which ship with the .NET Framework and are not restored via a package manager.

## Service dependencies

| Service | Endpoint | Documented by this run | Documentation | Operations used | Usage |
| --- | --- | --- | --- | --- | --- |
| `SimpleCertifiedMail ADS API` | Unresolved** — environment setting `SimpleCertifiedMailService.Url`, not defined in this repository's configuration | No | `SimpleCertifiedMail ADS API`† | [`getCertifiedLabel`](reference.md#getcertifiedlabel) | Generates the certified-mail label image returned to `SubpoenaLabelService` for subpoena recipient and opposing-counsel mailings |

## Dependency risks and notes

| Dependency | Risk | Impact if unavailable | Usage |
| --- | --- | --- | --- |
| `SimpleCertifiedMail ADS API` | No retry, no explicit timeout, and only in-band failures are caught at the call site | A transport failure propagates uncaught through `SubpoenaLabelService.GenerateOpposingCounselLabel`, and through `WitnessSubpoenaProcess` (no catch at all); `ZeroPaySubpoenaProcess` catches only `InvalidOperationException`, so it also propagates | Called via `SubpoenaLabelService.GenerateOpposingCounselLabel`, `WitnessSubpoenaProcess`, and `ZeroPaySubpoenaProcess`; the only operation used is `getCertifiedLabel`, the other seven proxy operations are never called |

## Related documentation
- [Client index](index.md)
- [Overview](overview.md)
- [Architecture](architecture.md)
- [Contract](contract.md)
- [Operation map](operation-map.md)
- [Client reference](reference.md)
- [Consumption](consumption.md)
- [Business rules](business-rules.md)
- [Tech debt](tech-debt.md)

> **Note:** Statements marked with `†` are derived from dependency library
> documentation via the Legends CLI. Statements marked with `**` could
> not be confirmed; treat as unknown until verified.

## Sources
- `Services/SAIF.Services.Web.Proxies/SAIF.Services.Web.Proxies.csproj`
- `Services/SAIF.Services.Web.Proxies/SimpleCertifiedMailServiceProxy.cs`
- `Services/SAIF.Services/Legal/Subpoenas/SubpoenaLabelService.cs`
- `Services/SAIF.Services/Legal/Subpoenas/ZeroPaySubpoenaProcess.cs`
- `Services/SAIF.Services/Legal/Subpoenas/WitnessSubpoenaProcess.cs`
