Finalmente siamo riusciti ad avviare i test di interoperabilità, tra delirio sui certificati e blocchi vari sbloccati da sogei, ci siamo, il ws ricevi_file risponde!
Pronti via primo intoppo, passiamo un file di prova (precedentemente validato dallo strumento “Controllare la FatturaPA”) e la risposta è EI01 = file allegato vuoto
Eppure il file c’è e creato cosi:
Dim filefe As New SDI.fileSdIBase_Type
Dim febyte As Byte()
febyte = IO.File.ReadAllBytes(“[PERCORSO]\IT01234567890_FPR01.xml”)
filefe.NomeFile = “IT01234567890_FPR01”
filefe.File = febyte
filefe.File risulta lungo 4385 e passato al ws cosi:
FAI ATTENZIONE al fatto che: (a quanto espressamente indicato dalla SOGEI) i test DEVONO essere eseguiti un successione corretta (WS001;WS002 ecc.) il primo test (WS001) ti chiede di inviare un file FatturaPA errato; in questo caso riceverai una Soap.response negativa;
A giudicare dal codice sembra tu stia implementando con Microsoft .NET Framework; è da diversi anni che non lo utilizzo più quindi non so esattamente quali elaborazioni eseguano le varie funzioni;
in ogni caso mi pare che ci siano alcune incongruenze:
NomeFile: deve essere il nome per esteso del file trasmesso ovvero: IT01234567890_FPR01.xml;
File: secondo le specifiche tecniche il contenuto del file DEVE ESSERE in base64Binary; quindi accertati se ReadAllBytes restituisce questo tipo di dato;
Durante i nostri test abbiamo SEMPRE inviato file firmati digitalmente (es: IT01234567890_FPR01.xml.p7m);
Ti faccio presente che in alcuni casi (ad esempio nell’invio delle Notifiche di Esito Committente) affinché il test andasse a buon fine abbiamo inviato l’xml in formato stringa, ovvero NON convertito in base64binary;
Ti suggerisco di sviluppare una funzione che registri (magari in un database) tutto il flusso di dati in entrata e in uscita dai tuoi servizi; questo ti sarà molto utile per eseguire il debug del tuo codice ed ottimizzarlo alle necessità del caso.
Buongiorni Antonello,
grazie per i preziosi consigli.
In effetti sono stato un po’ frettoloso (ero contento di aver risolto con i certificati), vado a rivedermi la documentazione e procedo con calma e più attenzione.
Ho visto anche l’altro tuo post dove spieghi i passi che hai seguito.
Grazie