Sdicoop PHP ricezione fatture errore 500

Buongiorno,
sono accreditato tramite canale sdicoop da alcuni mesi ma da sempre almeno 1 o 2 fatture al giorno non mi vengono recapitate e risultano nel cassetto fiscale dei miei clienti come fatture in “Messa a disposizione”.
Il mio server è AlmaLinux e il WS è in PHP-FPM 8.

Nel lo degli errori di php non trovo niente. Se scarico le fatture dal cassetto fiscale e me le importo chiamando il mio WS non ho errori, quindi mi viene da escludere che il problema sia sulle singole fatture.
Verificando l’access_log di apache riscontro però degli errori 500 (immagino quando la consegna della fattura fallisce).
Ho chiamato sogei e mi rispondono che quando non riescono a recapitare le fatture riscontrano questo errore:

javax.xml.bind.MarshalException
- with linked exception:
[com.ibm.ws.websvcs.transport.http.out.ClosedConnectionException: OutputStream encountered error during write]

Escludo un problema nel codice perchè per tenere le cose piu semplici possibile nel mio RiceviFatture l’unica cosa che faccio è salvare i file della fattura e metadati su filesystem. Poi ci penserà un altro processo a lavorare la fattura; quindi escludo problemi legati al formato del file, codifica o firme varie…

Qualcuno ha riscontrato problematiche simili? qualche consiglio su cosa andare a controllare per cercare di capire il problema?

1 Mi Piace

ho un piccolo aggiornamento. Ho verificato che tutte le fatture che ho ricevuto con successo sono molto piccole (non più di 23kb credo).

Ho provato a inviarmi una fattura grande con allegati da un mio clientSoap e la ricevo senza problemi.

Ho provato a inviare una fattura tramite il simulatore di invio messo a disposizione dallo SDI (ho impostato un lotto di fatture in cades per rendere il file più grande) e mi torna “bad request” con errore 500

Per chiunque abbia avuto lo stesso mio problema la causa era una qualche configurazione di FPM/FastCGI (oppure bug o incompatibilità con SDI?) che non sono riuscito a trovare.

Se le fatture me le invio io con un mio client SOAP in PHP non ho nessun problema. Se le fatture le invia lo SDI non passa niente che sia più grande di 23kb (Errore 500 sull’access log di Apache).

Ho risolto disattivando FPM e facendo girare PHP sotto Apache con MOD_PHP. Ora fila tutto liscio.

Se qualcuno dovesse conoscere la corretta configurazione di PHP-FPM sarebbe comunque utile che rispondesse a questo post.