This repository reaches SAIFFaxService through the generated FaxServiceSoapClient, wrapped by the authored FaxServiceProxy, which builds its own Windows-credentialed BasicHttpBinding and EndpointAddress in code rather than relying on the app.config endpoint.
Validates the supplied service URL, constructs the generated FaxServiceSoapClient with a Windows-credentialed binding and an explicit address, and exposes SendFax
Proxy lifetime
Per instance — constructed from OperationContext.Current in the FaxService constructor, so it is per-instance and not reused* (depends on the WCF service's undeclared InstanceContextMode)
Configuration applied
Value
Source
BasicHttpBinding security mode
TransportCredentialOnly
FaxServiceProxy.cs:18
Transport client credential
HttpClientCredentialType.Windows
FaxServiceProxy.cs:28
MaxReceivedMessageSize
int.MaxValue
FaxServiceProxy.cs:20
MaxBufferSize
int.MaxValue
FaxServiceProxy.cs:21
ReaderQuotas.MaxArrayLength
int.MaxValue
FaxServiceProxy.cs:22
Timeouts
None set — binding defaults apply
FaxServiceProxy.cs:18-28
The response message is empty, so the practical exposure of the unbounded quotas is small, but the setting is copied boilerplate rather than a deliberate choice for this operation — see Tech debt.
Yes — the value is read from environments.xml at runtime, but every track currently points at the same production host
Three different hosts appear across the repository: the runtime value is websvcprod (environments.xml), the generation-time WSDL/disco/svcmap value is also websvcprod, and the unused app.config endpoint (Services/SAIF.Services.Web.Proxies/app.config:60) names api.saif.com. The disagreement is recorded as a finding with no reconciliation attempted.