Document overview¶
Document is a svcutil-generated SOAP proxy inside SAIF.Services.Web.Proxies that previews, distributes (by print, email, and fax), and enumerates document packages against the external clsGenerate† ASMX service, which fronts the xPression document platform*, and the repository holds it because SAIF.Services.Utilities.Documents.DocumentService needs document generation and distribution at runtime.
Purpose¶
- Render and distribute document packages produced by the xPression platform — as a previewed PDF, as a printed/emailed/faxed/imaged distribution, and as a categorized document listing — on behalf of this repository's document-generating callers.
Business context¶
DocumentService is the sole in-repository consumer of this proxy, and it is registered with Autofac as IDocumentService in DependencyMaps/SAIF.DependencyMaps.Web.Documents/DependencyMap.cs:173, DependencyMaps/SAIF.DependencyMaps.Web.DocGenerator/DependencyMap.cs:71, DependencyMaps/SAIF.DependencyMaps.Web.DocCenter/DependencyMap.cs:127, DependencyMaps/SAIF.DependencyMaps.Web.Certs/DependencyMap.cs:143, DependencyMaps/SAIF.DependencyMaps.Web.AgencyPortal/DependencyMap.cs:84, DependencyMaps/SAIF.DependencyMaps.Web.AgencyInfoApi/DependencyMap.cs:106, DependencyMaps/SAIF.DependencyMaps.Web.PolicyDocumentAPI/DependencyMap.cs:170, DependencyMaps/SAIF.DependencyMaps.Web.LegalTasksNotes/DependencyMap.cs:79, DependencyMaps/SAIF.DependencyMaps.Web.FrameworkTest/DependencyMap.cs:52, and DependencyMaps/SAIF.DependancyMaps.Web.AGNI/AutofacBootstrapper.cs:72, so an outage of clsGenerate affects every one of those applications' document generation and distribution features.
| Attribute | Value |
|---|---|
| Business capability | Document rendering (preview PDF/HTML) and distribution (print, email, fax, imaging) for xPression-authored document packages |
| Owning team of the called service | Not determined from source |
| Criticality to the consumer | Not determined from source |
| Fallback when unavailable | None — the calling operation fails |
Consumers¶
| Consumer | Call site | Operations used | Notes |
|---|---|---|---|
DocumentServiceProxy.PreviewPdf |
Services/SAIF.Services.Web.Proxies/DocumentServiceProxy.cs:37 |
previewDocument |
Despite its name, PreviewPdf calls previewDocument, not previewPDF |
DocumentServiceProxy.GetCategories |
DocumentServiceProxy.cs:43 |
categoriesForUser |
Sorts the result alphabetically before returning |
DocumentServiceProxy.GetPackages |
DocumentServiceProxy.cs:49 |
documentsForCategory |
Sorts the result alphabetically before returning |
DocumentServiceProxy.DistributeDocument (two overloads) |
DocumentServiceProxy.cs:69, :105 |
distributeDocument |
The faxInfo parameter of the first overload is always sent as null; the second (DistributeDocumentDocCenter) maps it |
DocumentServiceProxy.PrintDocument |
DocumentServiceProxy.cs:131 |
distributeDocument |
Print-only overload; no upstream DocumentService caller was found for this overload* |
DocumentService is constructed per request in Services/SAIF.Services.WebApi/PrintAPI/Controllers/ReportsController.cs:30,61,92,110 and HomeController.cs:24, and those instances are never disposed*. Several of the DependencyMap.cs/AutofacBootstrapper.cs registrations above pass a six-argument constructor call that does not match this repository's five-argument DocumentService constructor — flagged, not reconciled, because those projects likely bind to a different, packaged version of DocumentService**.
Capability summary¶
| Capability | Operations | Description |
|---|---|---|
| PDF preview | previewDocument |
Renders a document package to a PDF byte array |
| Category listing | categoriesForUser |
Lists the document categories available to the caller |
| Package listing | documentsForCategory |
Lists the document packages within a category |
| Document distribution | distributeDocument |
Prints, emails, faxes, or images a document package |
The full declared surface of 10 operations, including previewPDF, printPDF, publishDocument, previewHTML, publishAndReturnDocument, and outputProfilesForDocument, is on Contract, and the present-versus-called reconciliation is on Operation map.
Generation provenance¶
| Aspect | Finding |
|---|---|
| Generated by | svcutil (Service Reference) |
| Generated from | Services/SAIF.Services.Web.Proxies/Service References/Document/clsGenerate.wsdl |
| Discovery document | Services/SAIF.Services.Web.Proxies/Service References/Document/clsGenerate.disco |
| Generated namespace | SAIF.Services.Web.Proxies.Document |
| Namespace matches the consuming project | Yes |
| Regeneration risk | The WSDL target namespace embeds a publisher-side localhost URL (http://localhost:8000/wsDocuments/clsGenerate.asmx?WSDL/); no hand edits to Reference.cs were found, so refreshing the reference is otherwise low risk |
Non-documented artifacts¶
Reference.cs, theSAIF.Services.Web.Proxies.Document.ArrayOfString.datasourcedesigner file, and theconfiguration*.svcinfo/Reference.svcmapartifacts underService References/Document/are tool output and are not narrated beyond the provenance facts above, per the generated-code doctrine on Client index.
Related documentation¶
- Client index
- Architecture
- Contract
- Operation map
- Client reference
- Consumption
- Dependencies
- Business rules
- Tech debt
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. Statements marked with**could not be confirmed; treat as unknown until verified.
Sources¶
Services/SAIF.Services.Web.Proxies/DocumentServiceProxy.csServices/SAIF.Services/Utilities/Documents/DocumentService.csServices/SAIF.Services.WebApi/PrintAPI/Controllers/ReportsController.csServices/SAIF.Services.WebApi/PrintAPI/Controllers/HomeController.csDependencyMaps/SAIF.DependencyMaps.Web.Documents/DependencyMap.csDependencyMaps/SAIF.DependencyMaps.Web.DocGenerator/DependencyMap.csDependencyMaps/SAIF.DependencyMaps.Web.DocCenter/DependencyMap.csDependencyMaps/SAIF.DependencyMaps.Web.Certs/DependencyMap.csDependencyMaps/SAIF.DependencyMaps.Web.AgencyPortal/DependencyMap.csDependencyMaps/SAIF.DependencyMaps.Web.AgencyInfoApi/DependencyMap.csDependencyMaps/SAIF.DependencyMaps.Web.PolicyDocumentAPI/DependencyMap.csDependencyMaps/SAIF.DependencyMaps.Web.LegalTasksNotes/DependencyMap.csDependencyMaps/SAIF.DependencyMaps.Web.FrameworkTest/DependencyMap.csDependencyMaps/SAIF.DependancyMaps.Web.AGNI/AutofacBootstrapper.cs