Skip to content

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).
  • Authenticate outbound calls using the calling process's Windows identity rather than a stored credential (WP-BR-010).

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, WP-BR-010)
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