Ciao a tutti.
Abbiamo accreditato il canale SDICOOP, abbiamo anche ottenuto l’autorizzazione ad essere listati nell’elenco dei provider abilitati.
Tuttavia non riusciamo a inoltrare una richiesta di scarico massivo al servizio https://servizi.fatturapa.it/sm-scarico-file.
L’invio della richiesta avviene senza problemi, il servizio risponde correttamente con l’ID della richiesta creata.
Ma all’interrogazione “dell’esito richiesta” riceviamo sempre un ST02 (scartata), con un vago messaggio “File non conforme al tracciato .”
In alcune prove, il messaggio di errore sembra più parlante: “File non conforme al tracciato , Cannot find the declaration of element 'ns1:InputMassivo”, da cui posso immaginare che ci siano problemi di validazione del file XML.
Il servizio come indicato in documentazione richiede di trasmettere un file XML in base64 contenente la richiesta stessa.
Questo l’XML della richiesta:
<?xml version="1.0" encoding="UTF-8"?>
<ns1:InputMassivo
xsi:schemaLocation="http://www.sogei.it/InputPubblico https://www.fatturapa.gov.it/export/documenti/ws/servizimassivi/InputMassivo_v1.4.xsd"
xmlns:ns1="http://www.sogei.it/InputPubblico"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>
<ns1:TipoRichiesta>
<ns1:Fatture>
<ns1:Richiesta>FATT</ns1:Richiesta>
<ns1:ElencoPiva>
<ns1:Piva>XXXXXXXXX</ns1:Piva>
</ns1:ElencoPiva>
<ns1:TipoRicerca>PUNTUALE</ns1:TipoRicerca>
<ns1:FattureRicevute>
<ns1:DataEmissione>
<ns1:Da>2024-09-01</ns1:Da>
<ns1:A>2024-11-01</ns1:A>
</ns1:DataEmissione>
<ns1:Flusso><ns1:Tutte>ALL</ns1:Tutte></ns1:Flusso>
<ns1:Ruolo>CESSIONARIO</ns1:Ruolo>
</ns1:FattureRicevute>
</ns1:Fatture>
</ns1:TipoRichiesta>
</ns1:InputMassivo>
Il file è formalmente corretto (validato da un linter che controlla lo schema)
xmllint --noout --schema schema.xsd input.xml
lo schema è quello indicato nella documentazione.
L’XML così formato viene poi firmato digitalmente tramite
openssl smime -sign -in input.xml -out input.xml.p7s -signer certificato.pem -inkey key.pem -outform DER -nodetach
poi encodato in base64 e aggiunto al tag File
assieme ai tags TipoRichiesta
e NomeFile
all’interno del tag FileRichiesta
.
Per completezza di test, abbiamo provato anche a firmare il file usando l’app GoSign di infocert.
Qualcuno che si è imbattuto nello stesso problema saprebbe dirmi come risolverlo? O quantomeno dove questa procedura fallisce?
Sto procedendo cercando di analizzare gli errori e capire quale dei due è più “profondo” rispetto alla procedura.
Mi spiego.
Ho la sensazione che i controlli effettuati dal servizio AdE siano in quest’ordine:
- lettura dell’XML
che nel caso non venga riconosciuto un XML ben formato restituisce un generico “File non conforme al tracciato .” - verifica dell’XML con lo schema
che nel caso il file non passi il check di validità con lo schema, restituisce un più parlante “File non conforme al tracciato , Cannot find the declaration of element 'ns1:InputMassivo” - analisi della firma
passaggio a cui non credo di essere mai arrivato con le richieste.
Spero di essere stato chiaro e di aver fornito tutte le informazioni necessarie a ricevere un aiuto.
Grazie anticipatamente a tutti.