LogonABA, LogonATM, and LogonSSN increment the shared m_LogonAttempts counter and recursively retry until the counter is no longer less than m_LogonAttemptsMax.
Trigger
A vendor Logon(...) call throws an exception.
Enforcement
Each Logon* catch block compares m_LogonAttempts to m_LogonAttemptsMax, recurses on the helper method while under the limit, and throws ApplicationException after the limit is exhausted.
Outcome
The caller either receives a successful vendor logon or an ApplicationException for the relevant service.
Confidence
Verified
Source
Legacy\BankValidator\clsValidateBank.vb
BR-003: Bank lookup SOAP faults return empty results¶
Field
Value
Statement
Bank-detail retrieval methods treat System.Web.Services.Protocols.SoapException as a not-found condition and return empty results.
Trigger
GetBankFullDS, GetBankFullXML, or GetBankListXML catches SoapException while calling an ABA bank-detail operation.
Enforcement
The SoapException catch blocks assign "" for XML-returning methods and leave the Institutions DataSet empty for GetBankFullDS.
Outcome
Callers receive an empty string or empty DataSet instead of a propagated SOAP fault.
The Else branch in GetATMAccountStatus assigns statusCode = -1 and outStatusDescription = "Unknown".
Outcome
The caller receives an unknown account-status result and no ATM status lookup is attempted.
Confidence
Verified
Source
Legacy\BankValidator\clsValidateBank.vb
BR-005: ATM participation faults resolve to non-participant¶
Field
Value
Statement
IsATMParticipant treats System.Web.Services.Protocols.SoapException from the ATM vendor as a non-participation result rather than propagating the fault.
Trigger
ATM.IsParticipant(LogonToken, inRoutingNum) throws SoapException while checking whether a routing number participates in the ATM network.
Enforcement
The SoapException catch block in IsATMParticipant assigns isValid = False before the method proceeds to LogoffATM() in Finally.
Outcome
The caller receives False instead of a propagated SOAP fault. This differs from BR-004, which governs GetATMAccountStatus and has no equivalent fault handling — an unhandled exception there propagates to the caller.