-
Notifications
You must be signed in to change notification settings - Fork 21
Description
Descrizione del Bug
Dall'esame dei log di GovPay ho notato un paio di errori in fase di SendRTV2 legati alla lunghezza della denominazione del PSP. In particolare il PSP "Banca Popolare di xxxxxx e xxxxxxxxxx - società cooperativa per azioni" ha denominazione lunga 70 caratteri ma contiene una lettera accentata che "occupa più spazio" e questo genera l'errore:
String or binary data would be truncated in table 'dbo.rpt', column 'denominazione_attestante'. Truncated value: 'Banca Popolare di xxxxxx e xxxxxxxxxx - società cooperativa per azion'.
Come riprodurlo:
Basta utilizzare un PSP con nome pari a 70 caratteri e contenente una o più lettere accentate.
Risultato atteso:
Si potrebbe fare in modo che il layer di persistenza su DB troncasse eventuali campi più lunghi del dovuto. In alternativa, utilizzare il tipo NVARCHAR in luogo di VARCHAR (almeno per quei campi di lunghezza variabile come nominativi e denominazioni).
Ambiente:
- OS: Windows Server 2022
- GovPay: 3.7.6
- AS: WildFly 26
- Java: OpenJDK 11
- DBMS: MS SQL Server 2019
Note aggiuntive:
Anziché aumentare la dimensiona della colonna 'dbo.rpt.denominazione_attestante' (non sapendo se potesse avere ripercussioni di qualunque genere) l'ho convertita da VARCHAR a NVARCHAR (sperando di aver fatto bene :-).
Due domande correlate:
- esiste un modo corretto per recuperare manualmente questo errore su GovPay? (il versamento risulta ancora NON_ESEGUITO)
- esiste la possibilità di essere notificati in qualche modo (es. via mail) in caso di errori legati al fallimento di una ricezione di una RT?
Grazie mille.