Soluzione errore 400 WS ARUBA - services/invoice/upload

Pubblico qui la soluzione ad un problema che ho sperimentato con Aruba WS Fatturazione Elettronica, sperando che possa aiutare qualcuno.

Il 27 febbraio Aruba ha aggiornato il proprio demone, scritto molto probabilmente con java spring boot, per rigettare i JSON senza escaping, senza preavviso.

L’oggetto HttpClient di Java non restituiva l’output fornito da Aruba (che indicava il problema dell’escaping del JSON sul carattere di controllo 13 - necessario per il Base64) e fino ad oggi non capivo quale fosse il problema - non avendo messaggi di errore ma solo ricevendo un null dall’inputstreamreader.

Riscrivendo il mio demone con Apache HttpComponents, ho finalmente ricevuto l’errore che può essere risolto effettuando l’escaping del JSON inviato ad aruba, parameto dataFile.

Un metodo rapido per effettuare l’escaping è utilizzare Apache StringEscapeUtils.escapeJson

Giacomo