---
title: FaxServiceProxy
summary: API reference for FaxServiceProxy.
status: draft
owner: SAIF.Core Documentation Team
last_reviewed: 2026-09-24
library: SAIF.Services.Web.Proxies
reference_type: package
---

# FaxServiceProxy

`FaxServiceProxy` hides the internal generated `FaxServiceSoapClient` behind a single fire-and-forget `SendFax` operation, authenticating with the caller's Windows credentials over `TransportCredentialOnly` rather than message-level security. It is constructed by `Services/SAIF.Services.WCF/Services/FaxService.cs`.

## Purpose
- Send a fax recipient and a locally-accessible file path to the remote Fax SOAP service ([OP-WP-03](../../operations/send-a-fax.md)).
- Authenticate outbound calls using the calling process's Windows identity rather than a stored credential ([WP-BR-010](../../business-rules.md#wp-br-010-fax-calls-use-windows-transport-credentials)).

## Context
- Namespace: `SAIF.Services.Web.Proxies`
- Assembly/package: `SAIF.Services.Web.Proxies` (packaged in `SAIF.SAIFCode.Core`)

## Public members
| Member | Signature | Purpose |
| --- | --- | --- |
| Constructor | `FaxServiceProxy(string serviceUrl)` | Guards `serviceUrl`, then builds `BasicHttpSecurityMode.TransportCredentialOnly` with `HttpClientCredentialType.Windows` and `int.MaxValue` quotas ([WP-BR-001](../../business-rules.md#wp-br-001-required-arguments-must-be-non-null-or-non-empty), [WP-BR-010](../../business-rules.md#wp-br-010-fax-calls-use-windows-transport-credentials)) |
| `SendFax` | `void SendFax(FaxRecipient message, string fullFilePath)` | Sends a fax with the given file path as the attachment; fire-and-forget, nothing is returned |
| `Dispose` | `void Dispose()` | Closes the underlying generated `FaxServiceSoapClient` by calling `Close()`, without an `Abort()` fallback on a faulted channel* |

## Behavioral notes
- `SendFax` has no null guard on `message` (CA1062 is suppressed); a null `message` throws `NullReferenceException`.
- The remote service receives only a file **path**, not file content; the file's existence and readability at send time are the remote service's responsibility.

## Constraints and usage notes
- Because credentials are Windows-integrated, the calling process identity must be trusted by the fax service; there is no separate username/password configuration for this wrapper.

> **Note:** Statements marked with * were inferred from code structure, naming conventions, or
> contextual evidence where direct confirmation was not available in source artifacts.

## Sources
- `Services/SAIF.Services.Web.Proxies/FaxServiceProxy.cs`
