No failure handling exists on any of the six call sites — no try/catch, no FaultException handling, no retry, no explicit timeout, and no cancellation |
DocumentServiceProxy.cs:37-146 |
Every call is synchronous and blocking; a slow or unreachable remote service blocks the calling thread with no recovery path |
Not prescribed |
MapFaxMessage dereferences its faxInfo argument without a null check |
DocumentServiceProxy.cs:190-204; DocumentService.cs:148 |
A null faxInfo passed to DistributeDocumentDocCenter throws NullReferenceException before the SOAP call is even attempted* |
Not prescribed |
Dispose() calls Close() with no Abort() fallback on a faulted ClientBase<T>, and one client instance is held for the owner's lifetime |
DocumentServiceProxy.cs:217-225; DocumentService.cs:35 |
Close() on a faulted channel throws CommunicationObjectFaultedException* and poisons every later call on that instance until it is disposed and recreated* |
Not prescribed |
DocumentService instances are constructed without using in ReportsController.cs:30,61,92,110 and HomeController.cs:24 |
Services/SAIF.Services.WebApi/PrintAPI/Controllers/ReportsController.cs; HomeController.cs |
The underlying DocumentServiceProxy/clsGenerateSoapClient chain is left undisposed for these request paths* |
Not prescribed |
Message-size limits were raised to int.MaxValue for large PDFs, but timeouts were not raised alongside them |
DocumentServiceProxy.cs:23-27 |
Large document rendering or distribution can still time out under the default one-minute send timeout* |
Not prescribed |
MapMailMessage never sets AttachmentFileName even though the contract declares it — see BR-DOC-001 |
DocumentServiceProxy.cs:174-187 |
Emailed distributions through this proxy carry no attachment file name |
Not prescribed |
The faxInfo parameter of DistributeDocument is silently ignored — see BR-DOC-002 |
DocumentServiceProxy.cs:69-83 |
A caller supplying fax details through this overload has them discarded with no fax distribution occurring and no error raised |
Not prescribed |
Several DependencyMap.cs registrations and tests pass six constructor arguments (including IPdfService) to DocumentService, but this repository's DocumentService constructor takes five |
DependencyMaps/SAIF.DependencyMaps.Web.Documents/DependencyMap.cs:173-179 (and sibling files) |
Those projects likely bind to a different, packaged version of DocumentService, which is flagged but not reconciled** |
Not prescribed |