Skip to content

SAIF.Services.Web.Proxies dependencies

SAIF.Services.Web.Proxies has a single same-repo project reference (SAIF.SAIFCode.Core, for its contract DTOs), two directly-used SAIF framework NuGet packages, several packages.config entries with no authored usage, and 12 consumed SOAP/REST services reached only through generated clients and one hand-rolled Google Maps REST client; it is consumed in-repo by SAIF.Services, SAIF.Services.Common, and SAIF.Services.WCF.

Internal dependencies

Dependency Reference Type Usage
SAIF.SAIFCode.Core Project Reference Supplies the SAIF.Core contract DTOs mapped by every wrapper (SAIF.Core.Contracts Contact, Address, PhoneNumber, PersonName, ApplicationExceptionDetail; SAIF.Core.Contracts.CertifiedLabel; SAIF.Core.Contracts.Core.DistanceResults; SAIF.Core.Contracts.Documents.FaxInfoClass; SAIF.Core.Services.Documents types; the PlexMode, ScaleMode, and PaperTray enums)
SAIF.Framework.Core NuGet Package Provides IEnvironmentService and ILogService (namespace SAIF.Core.Services) and the Enforce argument-guard helper, used across every wrapper's construction and method guards*
SAIF.Framework.Common NuGet Package Provides SAIF.Common.Extensions (IsNullOrEmpty, Truncate, IsNull), used to truncate SimpleCertifiedMail label fields*
SAIF.Web.API.Clients NuGet Package Referenced in packages.config; no authored usage found (no JsonHttpClient/ClientInfo in this library)
SAIF.HashUtil NuGet Package Referenced in packages.config; no authored usage found

External dependencies

Dependency Version Usage
Autofac 3.5.2 Referenced in packages.config; no authored usage found (no ContainerBuilder registrations in this library)
FluentValidation 5.5.0.0 Referenced in packages.config; no authored usage found
log4net 2.0.5 Referenced in packages.config; no authored usage found
Newtonsoft.Json 8.0.3 Referenced in packages.config; no authored usage found
RestSharp 106.12.0 Referenced in packages.config; no authored usage found

Two third-party binaries are referenced by HintPath rather than NuGet: Libs/ThirdParty/CallRex/CallRex.Utilities.dll and CallrexAPIUtilities.dll. No authored usage of either was found.

Consumed SOAP client proxies. This library hosts 11 of the 12 SOAP/WCF client proxies consumed by SAIF and its hosts (the 12th, CleanAddressSvc, is hosted in SAIF.Services as a web reference). Each is documented separately, outside this dependency page, at docs/clients/<proxy-slug>/:

Proxy Slug Generated client
ActiveDirectory activedirectory clsADServicesSoapClient (internal), wrapped by ActiveDirectoryServiceProxy
CallRex callrex ClientServiceClient / ClientAccessPolicyClient (public); no authored wrapper
CallRexState callrexstate AgentStateServiceClient (duplex, public) / ClientAccessPolicyClient (public); no authored wrapper
DbConnection dbconnection ConnectInfoSoapClient (internal), wrapped by Legacy.DbConnectionServiceProxy
Document document clsGenerateSoapClient (internal), wrapped by DocumentServiceProxy
Fax fax FaxServiceSoapClient (internal), wrapped by FaxServiceProxy
Logging logging clsWSLoggingSoapClient (internal), wrapped by LoggingServiceProxy
PDFService pdfservice PDFServiceClient (internal), wrapped by PdfServiceProxy
SimpleCertifiedMail simplecertifiedmail ADSAPISoapClient (public), wrapped by SimpleCertifiedMailServiceProxy
SMTP smtp clsSAIFMessageSoapClient (internal); no authored wrapper, unreachable
WorkCalendar workcalendar SAIFDatesSoapClient (internal), wrapped by WorkCalendarServiceProxy
CleanAddressSvc cleanaddresssvc Hosted in SAIF.Services, not in this library

The Google Distance Matrix API is consumed directly by GoogleMapsApiServiceProxy as a hand-rolled REST/XML client over System.Net.WebRequest; it has no generated service reference and is not one of the 12 catalogued SOAP client proxies.

Dependency risks and notes

  • No composition root for injected proxies. No Autofac registration for ISimpleCertifiedMailServiceProxy or IGoogleMapsApiServiceProxy exists anywhere in this repository; the host that wires them for SAIF.Services consumers is external**.
  • Unused packages and binaries. SAIF.Web.API.Clients, SAIF.HashUtil, Autofac, FluentValidation, log4net, Newtonsoft.Json, RestSharp, and the CallRex third-party DLLs have no authored usage; it is unknown whether they are required transitively (for example, by generated proxy code) or are stale**.
  • Non-secure secret retrieval. SimpleCertifiedMailService.Password, SimpleCertifiedMailService.PartnerKey, and googlemaps.apikey are read with IEnvironmentService.GetConfigSetting rather than GetSecureConfigSetting (see Configuration).
  • Unreachable generated clients exposed publicly. CallRex.ClientServiceClient, CallRex.ClientAccessPolicyClient, CallRexState.AgentStateServiceClient, and CallRexState.ClientAccessPolicyClient are public in the packaged assembly even though no in-repository code constructs them.
  • Plain-HTTP transport of database credentials. Legacy.DbConnectionServiceProxy requests and receives Oracle/SQL Server connection strings, which contain credentials, over a default unsecured BasicHttpBinding; whether the transport is HTTPS depends only on the caller-supplied URL scheme.
  • Consumers. In-repository <ProjectReference> consumers are Services/SAIF.Services/SAIF.Services.csproj (line 503), Services/SAIF.Services.Common/SAIF.Services.Common.csproj (line 95), Services/SAIF.Services.WCF/SAIF.Services.WCF.csproj (line 142), and Tests/SAIF.Services.Tests/SAIF.Services.Tests.csproj (line 360); Services/SAIF.Services.WebApi/EnvironmentApi/EnvironmentApi.csproj and DependencyMaps/SAIF.DependencyMaps.Web.DocCenterApi consume the packaged binary via HintPath, and Web/SAIF.Web.Mvc consumes it through the packaged SAIF.SAIFCode.Core.2.0.22164.1 NuGet package.

Note: Statements marked with * were inferred from code structure, naming conventions, or contextual evidence where direct confirmation was not available in source artifacts. Statements marked with ** could not be confirmed; treat as unknown until verified.

Sources

  • Services/SAIF.Services.Web.Proxies/SAIF.Services.Web.Proxies.csproj
  • Services/SAIF.Services.Web.Proxies/packages.config
  • Services/SAIF.Services.Web.Proxies/app.config
  • Services/SAIF.Services/SAIF.Services.csproj
  • Services/SAIF.Services.Common/SAIF.Services.Common.csproj
  • Services/SAIF.Services.WCF/SAIF.Services.WCF.csproj
  • Tests/SAIF.Services.Tests/SAIF.Services.Tests.csproj
  • Services/SAIF.Services.WebApi/EnvironmentApi/EnvironmentApi.csproj
  • DependencyMaps/SAIF.DependencyMaps.Web.DocCenterApi
  • Web/SAIF.Web.Mvc/SAIF.SAIFCode.Web.Mvc.csproj