Dependencies¶
Fax depends on the WCF client framework to compile, on the external SAIFFaxService service to function at runtime, and on SAIF.Services.WCF — a library consumed as documented at SAIF.Services.Web.Proxies overview — as its in-repository caller.
Internal dependencies¶
| Project | In this repository | Purpose | Usage |
|---|---|---|---|
SAIF.Services.Web.Proxies |
Yes | Owns the generated proxy and the FaxServiceProxy wrapper |
Compiled into the proxy and wrapper that construct and invoke FaxServiceSoapClient |
SAIF.Services.WCF |
Yes | Consumes the wrapper through FaxService, and references SAIF.Services.Web.Proxies as a project reference |
Constructs FaxServiceProxy and calls SendFax once per recipient |
External dependencies¶
Framework components¶
| Component | Assembly | Purpose | Usage |
|---|---|---|---|
System.ServiceModel |
System.ServiceModel.dll |
Supplies ClientBase<T>, BasicHttpBinding, and EndpointAddress used by the generated proxy and the wrapper |
Used at construction and invocation of FaxServiceSoapClient |
System.Xml |
System.Xml.dll |
Supplies XmlDictionaryReaderQuotas used to raise MaxArrayLength in the wrapper's binding |
Used when the wrapper builds its BasicHttpBinding |
NuGet packages¶
This proxy requires no NuGet package; it depends only on framework assemblies.
Assembly references outside the package system¶
No assembly is referenced outside the package system.
Transitive dependencies¶
No transitive dependency is evidenced from source.
Service dependencies¶
| Service | Endpoint | Documented by this run | Documentation | Operations used | Usage |
|---|---|---|---|---|---|
SAIFFaxService |
http://websvcprod/webservices/SAIFFaxService/faxservice.asmx |
No | SAIFFaxService† |
Send |
Called once per recipient to deliver a fax document |
Configuration dependencies¶
| Setting | Source | Required at | Usage |
|---|---|---|---|
faxSoapServiceUrl |
Services/SAIF.Services.WebApi/EnvironmentApi/App_Data/environments.xml |
First call | Resolved through EnvironmentConfigKeys.FaxSoapServiceUrl, a constant not defined in this repository's source*, and used to build the EndpointAddress passed to FaxServiceProxy |
Dependency risks and notes¶
| Dependency | Risk | Impact if unavailable | Usage |
|---|---|---|---|
SAIFFaxService |
No retry, no timeout override, and no cancellation at either layer | Fax delivery for the affected recipient fails, and for a multi-recipient request, later recipients in the loop are never attempted | Called once per recipient by FaxService.SendFax |
Related documentation¶
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.
Sources¶
Services/SAIF.Services.WCF/SAIF.Services.WCF.csprojServices/SAIF.Services.WebApi/EnvironmentApi/App_Data/environments.xml