---
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

`Logging` depends on the WCF client framework to compile, on the external `WSLogging` service to function at runtime, and on `SAIF.Services.WebApi.EnvironmentApi`, which reaches `SAIF.Services.Web.Proxies` — documented at [`SAIF.Services.Web.Proxies` overview](../../libraries/saif-services-web-proxies/overview.md) — through a binary reference rather than a project reference.

## Internal dependencies

| Project | In this repository | Purpose | Usage |
| --- | --- | --- | --- |
| `SAIF.Services.Web.Proxies` | Yes | Owns the generated proxy and the `LoggingServiceProxy` wrapper | Hosts `clsWSLoggingSoapClient` and `LoggingServiceProxy`, invoked from `EnvironmentApi` |
| `SAIF.Services.WebApi.EnvironmentApi` | Yes | Consumes the wrapper through `SAIFExceptionLogger`, referenced via a binary `HintPath` to `..\..\..\Bin\SAIF.Services.Web.Proxies.dll` rather than a project reference — see [Tech debt](tech-debt.md) | `SAIFExceptionLogger.Log` constructs `LoggingServiceProxy` and calls `LogException` for every unhandled Web API exception |

## External dependencies

### Framework components

| Component | Assembly | Purpose | Usage |
| --- | --- | --- | --- |
| `System.ServiceModel` | `System.ServiceModel.dll` | Supplies `ClientBase<T>`, `BasicHttpBinding`, and `EndpointAddress` used by the generated proxy and the wrapper | Used at proxy construction in `LoggingServiceProxy.cs:17-20` and by the generated `clsWSLoggingSoapClient` base type |
| `System.Web.Http.ExceptionHandling` | ASP.NET Web API framework | Supplies `ExceptionLogger`, the base class `SAIFExceptionLogger` extends | Used to register `SAIFExceptionLogger` as the global `IExceptionLogger` in `WebApiConfig.cs:14` |

### NuGet packages

This proxy requires no NuGet package; it depends only on framework assemblies.

### Assembly references outside the package system

| Assembly | HintPath | In source control | Purpose | Usage |
| --- | --- | --- | --- | --- |
| `SAIF.Services.Web.Proxies.dll` | `..\..\..\Bin\SAIF.Services.Web.Proxies.dll` | Not determined from source | Supplies `LoggingServiceProxy` to `EnvironmentApi` without a project reference or package restore | Referenced by `EnvironmentApi.csproj:54-55` so `SAIFExceptionLogger` can construct `LoggingServiceProxy` at runtime |

## Transitive dependencies

No transitive dependency is evidenced from source.

## Service dependencies

| Service | Endpoint | Documented by this run | Documentation | Operations used | Usage |
| --- | --- | --- | --- | --- | --- |
| `WSLogging` | `http://saifonline/WebServices/WSLogging/clsWSLogging.asmx` | No | `WSLogging`† | [`WriteError`](reference.md#writeerror) | Called once per unhandled Web API exception by `LoggingServiceProxy.LogException` |

## Configuration dependencies

| Setting | Source | Required at | Usage |
| --- | --- | --- | --- |
| `appSettings/loggingServiceUrl` | `Services/SAIF.Services.WebApi/EnvironmentApi/Web.config:8` | First call | No `Web.Debug.config`/`Web.Release.config` transform overrides it; read by `SAIFExceptionLogger.cs:40-43` and passed as the `serviceUrl` constructor argument to `LoggingServiceProxy` |

## Dependency risks and notes

| Dependency | Risk | Impact if unavailable | Usage |
| --- | --- | --- | --- |
| `WSLogging` | No retry, no timeout override, and no disposal at the only call site; failures are swallowed by a bare `catch { }` | Error logging silently stops recording exceptions with no operator-visible signal | Called via `WriteError` from `LoggingServiceProxy.LogException`, invoked once per unhandled Web API exception |
| `SAIF.Services.Web.Proxies.dll` (HintPath) | Not restored by a package manager and invisible to dependency scanning | The binary consumed by `EnvironmentApi` can drift from the source in this repository without detection | Loaded by `EnvironmentApi` at runtime to construct `LoggingServiceProxy` |

## 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.

## Sources
- `Services/SAIF.Services.Web.Proxies/SAIF.Services.Web.Proxies.csproj`
- `Services/SAIF.Services.Web.Proxies/app.config`
- `Services/SAIF.Services.WebApi/EnvironmentApi/EnvironmentApi.csproj`
- `Services/SAIF.Services.WebApi/EnvironmentApi/Web.config`
- `Services/SAIF.Services.Web.Proxies/Service References/Logging/clsWSLogging.wsdl`
