SimpleCertifiedMailServiceProxy enforces several client-side rules around its one called operation, getCertifiedLabel: field truncation, a default account group, a preview/production mode selection, an in-band failure-to-exception conversion, and a page-count-based label size selection performed without calling the remote service.
The request Mode is production or preview, taken from CertifiedLabelData.IsProductionMode when the caller sets it; otherwise it follows IEnvironmentService.IsProduction
Trigger
Evaluated in GetCertifiedLabel before the SOAP call
A caller can force preview mode regardless of the hosting environment; otherwise the environment's production flag governs whether a real (billable) label is generated
BR-SCM-004 In-band failure converted to exception¶
Field
Value
Statement
A response with StatusCode other than 1 is converted to a SimpleCertifiedException carrying the remote StatusMessage, logged, and thrown
Trigger
Evaluated immediately after the SOAP call returns
Enforcement
SimpleCertifiedMailServiceProxy.GetCertifiedLabel
Origin
wrapper
Outcome
Callers that catch SimpleCertifiedException (only SubpoenaLabelService does) see a typed, logged failure; callers that do not catch it see the exception propagate. Transport-level exceptions are not converted and are not logged here
GetDefaultLabelData selects EnvelopeSize10 for up to 10 pages, Small for 11–19 pages, and Large for 20 or more pages, and throws InvalidNumberOfPagesException for more than 76 pages
Trigger
Evaluated locally, before any call to the remote service, whenever a caller requests default label data by page count
No SOAP call is made by this rule; it only shapes the request that a later getCertifiedLabel call would use. A page count over 76 fails fast with a typed exception rather than sending an oversized request