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 inSAIF.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¶
SendFaxhas no null guard onmessage(CA1062 is suppressed); a nullmessagethrowsNullReferenceException.- 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