---
title: PDFService overview
summary: Which service this proxy calls, who consumes it, and what it is used for.
status: draft
owner: SAIF.Core documentation
last_reviewed: 2026-09-24
---

# PDFService overview

`PDFService` is a generated svcutil proxy for the WCF `WCFHost PDFService`† imaging-cache service, wrapped by the authored `PdfServiceProxy`, which requests that a document image be cached and returns its bytes; no source file in this repository currently constructs the wrapper or the generated client.

## Purpose
- Retrieve a cached document image (`File`) from the remote imaging-cache service, given an image sequence number and a target database environment, by requesting the service load (and, if needed, process) the image before returning it*.

## Business context

The called service is a document/imaging cache: a caller supplies an image sequence number and the service returns the image bytes, optionally scheduling background processing first. If the service were unavailable, the wrapper's `GetImage` call would throw or return a `null`/default `File`* — but because no repository source constructs `PdfServiceProxy`, this consumer has no operational exposure to that failure today.

| Attribute | Value |
| --- | --- |
| Business capability | On-demand retrieval (and cache load) of a document image by sequence number* |
| Owning team of the called service | Not determined from source |
| Criticality to the consumer | Not determined from source — the wrapper is unused in this repository |
| Fallback when unavailable | None — the calling operation would fail (no call site exists to observe this in-repo) |

## Consumers

| Consumer | Call site | Operations used | Notes |
| --- | --- | --- | --- |
| *(none in this repository)* | — | — | No repository source constructs `PdfServiceProxy` or the generated `PDFServiceClient`. The wrapper's own call to [`LoadCache`](reference.md#loadcache) exists in `Services/SAIF.Services.Web.Proxies/PDFServiceProxy.cs:42`, but nothing invokes `PdfServiceProxy.GetImage` itself, so the integration is not reached end-to-end in this repository. |

Consumers of the shipped `SAIF.Services.Web.Proxies` NuGet package outside this repository may call `PdfServiceProxy.GetImage` directly*; that possibility cannot be confirmed from this repository's source.

## Capability summary

| Capability | Operations | Description |
| --- | --- | --- |
| Cached image retrieval | [`LoadCache`](reference.md#loadcache) | Requests the remote service load/cache a document image for a given sequence number and returns its bytes; in-band success/failure is reported through the `LoadDocumentResult` enumeration, which the wrapper does not inspect |

## Generation provenance

| Aspect | Finding |
| --- | --- |
| Generated by | `svcutil` (Service Reference) |
| Generated from | `Services/SAIF.Services.Web.Proxies/Service References/PDFService/PDFService.wsdl` |
| Discovery document | `Services/SAIF.Services.Web.Proxies/Service References/PDFService/PDFService.disco` |
| Generated namespace | `SAIF.Services.Web.Proxies.PDFService` |
| Namespace matches the consuming project | Yes — the generated namespace is rooted in `SAIF.Services.Web.Proxies`, the project that carries the file |
| Regeneration risk | Refreshing the reference would regenerate `Reference.cs`/`Reference.svcmap`/`configuration*.svcinfo`; the hand-written wrapper `PdfServiceProxy.cs` is a separate file and is not overwritten by a refresh |

## Non-documented artifacts

- `Reference.cs`, its serialization attributes, and any `…Async`/`…Completed` event scaffolding for `LoadCache` are svcutil tool output and are not narrated in this document set; the contract is documented from `PDFService.wsdl` and the wrapper's call site instead.

## Related documentation
- [Client index](index.md)
- [Architecture](architecture.md)
- [Contract](contract.md)
- [Operation map](operation-map.md)
- [Client reference](reference.md)
- [Consumption](consumption.md)
- [Dependencies](dependencies.md)
- [Tech debt](tech-debt.md)

> **Note:** Statements marked with `†` are derived from dependency library
> documentation via the Legends CLI. Statements marked with `*` were inferred
> from code structure or contextual evidence.

## Sources
- `Services/SAIF.Services.Web.Proxies/PDFServiceProxy.cs`
- `Services/SAIF.Services.Web.Proxies/Service References/PDFService/Reference.cs`
- `Services/SAIF.Services.Web.Proxies/Service References/PDFService/Reference.svcmap`
- `Services/SAIF.Services.Web.Proxies/Service References/PDFService/PDFService.wsdl`
- `Services/SAIF.Services.Web.Proxies/Service References/PDFService/PDFService.disco`
- `Services/SAIF.Services.Web.Proxies/SAIF.Services.Web.Proxies.csproj`
- `Core/SAIF.Core/SAIF.SAIFCode.Core.nuspec`
