A consumer obtains fax delivery by constructing FaxServiceProxy per call from SAIF.Services.WCF.Services.FaxService, which is in turn part of SAIF.Services.Web.Proxies and documented as a consuming library at SAIF.Services.Web.Proxies overview.
The app.config<client><endpoint name="FaxServiceSoap"> entry (Services/SAIF.Services.Web.Proxies/app.config:60, address api.saif.com) is present but is not used at runtime, because the wrapper supplies an explicit Binding and EndpointAddress to the generated constructor.
MaxReceivedMessageSize/MaxBufferSize/MaxArrayLength all set to int.MaxValue
Yes
FaxServiceProxy.cs:20-22
Yes
The unbounded quotas are copied boilerplate rather than a deliberate choice — the response is empty, so the practical exposure is small, but the setting removes a real safeguard against an oversized response — see Tech debt.
None — propagates through FaxService.SendFax to WCF
SOAP fault returned
FaultException†
None — propagates unchanged
Timeout exceeded
TimeoutException†
None — propagates unchanged
Response larger than the message size limit
Not applicable — the response is empty
—
Empty or absent output message
Not applicable — Send is one-way
—
With multiple recipients, a mid-loop failure at FaxService.SendFax leaves earlier recipients faxed and later ones not, and the caller receives no indication of which; the temp file write to fullFilePath is also not cleaned up when a Send call throws, because the delete happens only after the loop completes.
// Send a fax to each recipient in the request, using a temp copy of the documentforeach(varrecipientinconfig.Recipients){proxy.SendFax(recipient,fullFilePath);}
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.