Nuovi servizi per quadratura e reinoltro (SDICoop)

forse l’unico utilizzo è per il reinoltro,
creare un proprio storico di identificativi Sdi con relativo stato con una schedulazione giornaliera così da poter richiedere il reinoltro per le fatture non consegnate con un gap di 7 gg nel passato per B2B e 15 gg per B2G

Purtroppo ora sto ricevendo continui “Internal Error” su qualsiasi operazione tenti di fare, un sistema totalmente inefficiente… a qualcuno gli sta funzionando?

1 Mi Piace

Grazie per aver pubblicato gli endpoint, sono arrivato qui proprio perché non li trovavo scritti da nessuna parte…

Sto implementando anche io le chiamate a questo servizio, come “paracadute” nel caso di disservizi noti in alcuni giorni, ma da quello che leggo delle vostre esperienze mi vengono un po’ i brividi…

Qualcuno di voi ha scritto che richieste successive per il medesimo intervallo vanno in errore. E se si richiede un intervallo diverso ma parzialmente sovrapposto funziona? O gli intervalli richiesti devono sempre essere disgiunti?

Ho provato ad inviare una richiesta per la quadratura di un giorno di novembre, come prima prova. Ho ottenuto correttamente una risposta con il mio idQuadratura. Tuttavia, quando chiedo lo scaricamento del report per quell’idQuadratura, mi torna indietro una risposta SOAP completamente vuota:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
	<soapenv:Body>
		<a:ScaricoReportQuadraturaFlussoRicezioneResponse xmlns:a="http://ivaservizi.agenziaentrate.gov.it/docs/wsdl/QuadraturaWS/v1.0/types" xmlns:b="http://www.w3.org/2001/XMLSchema-instance" b:nil="true"/>
	</soapenv:Body>
</soapenv:Envelope>

Quindi nessun errore di alcun tipo, ma risposta formalmente ben formata ma esplicitamente impostata a vuota. A qualcuno è già capitato?

Dunque, oggi ho fatto un po’ di prove.

I servizi funzionano a singhiozzo: spesso restituiscono “Internal server error” (HttpStatus 500), spesso restituiscono risposte SOAP ben formate ma vuote di contenuto (vedere mio messaggio precedente).
I report di quadratura si possono scaricare quante volte si vuole (ergo: si può interrogare il servizio di scarico più volte con il medesimo idQuadratura), ma la generazione dei report di quadratura sembra avere il problema da voi già evidenziato, ossia che non si può richiedere lo stesso intervallo più volte. Non si può neppure richiedere un intervallo intersecante, cioè contenente almeno una data per la quale sia già stato chiesto un altro report: in questo secondo caso l’errore restituito è ER_05, “RICHIESTA NON VALIDA”, con dettaglio codice 0005, “Almeno un giorno indicato è già stato richiesto”.

Si tratta quindi di servizi che vanno invocati con molta attenzione, perché il rischio di bruciarsi inavvertitamente degli intervalli temporali non più recuperabili è molto alto, soprattutto nel momento in cui si dovesse andare ad automatizzare il processo di quadratura.

Del resto gli id quadratura sembrerebbero essere sequenziali, sebbene non capisca la logica di assegnazione (di sicuro non è una numerazione per canale, dato che il mio primo id aveva valore >700). Quindi, nel caso si perdessero degli intervalli, si potrebbero fare più tentativi di scarico provando sequenzialmente tutti gli id in un determinato intervallo (del resto i controlli di frequenza di interrogazione sembrerebbero essere fatti sulla richiesta dei report e non sul download), ma è un workaround orrendo

Non capisco perché complicare così tanto la vita ai gestori dei canali…

Senza contare il fatto che, appunto, va a singhiozzo.

1 Mi Piace

Se proprio devono far funzionare così la cosa, almeno potrebbero aggiungere la possibilità di scaricare l’elenco delle quadrature richieste.

1 Mi Piace

Qualcuno di voi ha già provato a fare il giro completo?
Io ho chiesto un report di quadratura per un periodo di novembre in cui pare non essermi giunta una notifica. Ho ottenuto un id quadratura e con quello mi sono scaricato il report. Ho individuato la notifica che non mi è stata recapitata (in realtà ho individuato tutti e 4 i tentativi di recapito di quella notifica) ed ho chiesto il reinoltro per quella notifica (per uno solo di quei 4 tentativi).
Ho ricevuto indietro un id reinoltro, senza errori, quindi mi aspetto che mi reinoltrino la notifica che ho chiesto.
Ma dopo quanto tempo dovrebbe arrivare questa notifica reinoltrata? È passata circa mezzora ed ancora questa notifica non mi è stata reinoltrata…

ho risolto problema del Internal Error nelle richieste di reinoltro fatture,
era colpa mia, sbagliavo il nome dell’endpoit a causa di un copia e incolla,
usavo “quadratura-flusso-ricezione” invece di “reinoltro-flusso-ricezione” …
forse può essere utile anche a voi

Io confermo che i servizi di quadratura e reinoltro spesso restituiscono errore 500 senza motivo. Rifai la stessa identica richiesta 1 secondo dopo e va, oppure a volte dà risposta SOAP con elemento vuoto, lo rifai un istante dopo e funziona, ecc… Ho fatto proprio la prova “a portata di click” (ovviamente per le sole operazioni idempotenti, tipo il download dei report) e la stessa richiesta ora va, ora non va, ora va, ora non va…

Piuttosto, come da mio messaggio precedente, nei giorni scorsi ho usato per la prima volta per vera necessità questo servizio di quadratura e reinoltro. Ho scoperto che il 16/11 il mio web service ha ricevuto tutti i messaggi salvo una notifica di scarto, reiterata 4 volte (i canonici 4 tentativi) ma con quattro fallimenti di consegna. Ho provato due volte a richiedere il reinoltro di quella notifica di scarto (o meglio, di uno di quei 4 tentativi - anche su questo, non è ben chiaro se dovrei richiedere il primo, l’ultimo o se è indifferente), a distanza di un paio di giorni, ma non c’è stato verso, dopo almeno un paio d’ore dalla richiesta di reinoltro (durante le quali il report di reinoltro risulta “in elaborazione”), finalmente il report di reinoltro mi viene generato e mi dice che, ancora una volta, la ritrasmissione va in “mancata consegna”… ribadisco, nello stesso periodo ricevo regolarmente tutte le notifiche per altre fatture.
Ho provato ad aprire una segnalazione a SdI ma per ora è un muro di gomma, mi hanno detto (a distanza di giorni dall’apertura del ticket) di riprovare, ma ormai è scaduta la finestra temporale entro la quale potevo richiedere il reinoltro di quel messaggio…

Ma perché dev’essere sempre tutto difficile? :frowning:

2 Mi Piace

Ma qualcuno ha provato di scaricare il report subito dopo aver ricevuto l’IdQuadratura (per esempio chiamare le due funzioni nella stessa procedura per non perdere l’idQuadratura)? O meglio! quanto ci mette il loro sistema per elaborare il report? non è istantaneo giusto? o sbaglio?

No, non è istantaneo. Richiede alcuni minuti. Idem per il reinoltro: nelle mie prove in questo caso ci sono volute anche decine di minuti/ore, ma poi il reinoltro falliva. Penso però fosse a causa di problemi di SdI che spero abbiano risolto. In ogni caso devi prevedere un meccanismo asincrono tra l’ottenimento dell’idQuadratura/idReinoltro ed il download del report corrispondente, perché se provi immediatamente ti viene restituito un codice d’errore che dice che il report è in elaborazione.

Non avevo ancora scritto com’è andata a finire con la segnalazione a SdI di cui al mio messaggio precedente: dopo 3-4 risposte di SdI che mi invitavano a riprovare a fare sempre le stesse richieste di reinoltro, finalmente sono riuscito ad ottenere la consegna del messaggio che non mi era mai stato recapitato e per il quale fallivano ripetutamente i tentativi di reinoltro. Evidentemente avevano veramente problemi loro ad inviarmelo, non è dato di sapere di che tipo.

È chiaro che questo sistema di quadratura e reinoltro l’hanno rilasciato in fase BETA (se non addirittura alpha) ed hanno utilizzato noi per metterlo a punto. Spero solo che adesso sia un minimo affidabile, perché alla prossima volta che avessi veramente necessità di usarlo sarebbe frustrante che ancora non funzionasse a dovere.

2 Mi Piace

Grazie per le info, in effetti, immaginavo che fosse cosi, il fatto che stiamo cercando di integrarlo con il nostro sistema e non è facile trovare un modo per farlo con tutte queste limitazioni, perché oltre il casino causato dalle date e gli intervalli, come hanno detto prima; se fai due richieste di seguito, ti restituisce “Server Error” sempre.

al momento a me funziona senza nessun errore, e col meccanismo delle schedulazioni giornaliere ogni giorno recupero eventuali notifiche e fatture non ricevute 7 giorni addietro.

Ma non sta dando “Internal Error” come risposta quando si fa richieste consecutive?
Anche io ho usato lo stesso meccanismo, cioè chiedere il report per intervallo di soltanto un giorno, ma molte spesso mi restituisce “Internal Error”.

un mese fa lo dava spesso… poi s’è messo a funzionare sempre … ora ha ripreso a darlo qualche volta,
i tuoi endpoint sono corretti? (vedi mio post più sopra)

Sono sicuro che sono corretti perché dei report e richieste ne ho fatti abbastanza, ma ultimamente me lo sta dando spessissimo, alla fine dubitavo che fosse qualche errore nei dati della richiesta, ma come mi fa una richiesta e poi le altre non me le fa, ero sicuro che non fosse un errore da parte nostra.

Sì, bisogna mettersela via, quel servizio “funziona” così… Mi chiedo anche (seriamente) come siano stati in grado di funzionarlo a singhiozzo in questo modo… :wink:

1 Mi Piace

in effetti, aspettavo un feedback per capire se solo a me desse un errore del genere o se la mia richiesta fosse sbagliata! ma vedo che anche a molti altri non sta funzionando al massimo!!

l’unica soluzione possibile che ho adottato è di estendere l’intervallo di richiesta di notifiche/fatture quando nei giorni prima si verifica l’InternalError

Ho ripreso in mano la gestione della quadratura delle fatture e delle notifiche.
Intanto ho iniziato con le notifiche.

richiestaReportQuadraturaFlussoRicezioneB2B sembra funzionare correttamente, solo un paio di volte mi ha dato per due o tre tentativi ripetuti “Internal Error”

scaricoReportQuadraturaFlussoRicezione essendo un allegato, il SoapClient di php mi ha dato qualche problema o almeno credo dato che non vedevo nulla.
Dopo esser riuscito a far funzionare uno script parallelo ho scoperto che :

  • lo eseguo e non da nulla.
  • lo eseguo e non da nulla.
  • lo eseguo e mi ritorna SR01 in Elaborazione.
  • lo eseguo e di nuovo XML vuoto.

insomma non molto affidabile.
Capita anche a voi?