SDICoop: configurazione PHP SoapClient / SoapServer (Apache) per invio e ricezione di test

Ciao a tutte/i,
segnalo anche qui come suggerito da cesco: abbiamo rilasciato dei pacchetti PHP (client, server, invoice) su Github con licenza GPLv3.

Ulteriori info:
Rilascio “PHP SdICoop” Server, Client e Invoice su Github

Ciao @cesco69 ho provato il tuo script e spedisce il file xml solo che mi da sempre l’errore: “file non conforme al formato errore nella parse del file: Content is not allowed in prolog”.

Il file che provo ad inviare è xml (non firmato).
Non credo che sia problema di file perché inviandolo con un altro script funziona correttamente.

Mi rispondo da me… penso di aver risolto.
Ho cambiato lo script da
$fileSdIAccoglienza->File = base64_encode(file_get_contents($fattura));
in
$fileSdIAccoglienza->File = file_get_contents($fattura);

Sembra che il client converta già il contenuto del file su base64.

Buongiorno Danilo,
ho lo stesso problema di “Invalid Proxy Server Response” durante l’“Invio ricevuto Consegna” in ambiente di Test.
Ipotizzo che il firewall dell’Ente sia chiuso, potresti indicarmi con quale IP lo SDI si presenta verso internet durante tale invio?

Ciao a tutti, anzitutto volevo ringraziarvi per aver condiviso le vostre esperienze, in particolar modo @cesco69 che è stato illuminante :slight_smile:
Scrivo poichè mi succede una cosa molto strana, il sistema invia la fattura tranquillamente e riceve l’oggetto SOAP con l’id sdi e il timestamp.
Il problema è che stranamente alcune volte va e restituisce i dati velocemente, poi le richieste iniziano ad andare in timeout per giorni e non ricevo più riscontro.
Ho provato ad aumentare all’inverosimile il tempo di timeout della request CURL (CURLOPT_TIMEOUT) e al posto del solito errore php di timeout " Fatal error : Uncaught Exception: [HTTP:100] Operation timed out after 30000 milliseconds with 0 bytes received…" mi risponde con un “504 Gateway Time-out”.
Ho contattato l’assistenza tecnica e tramite email mi hanno risposto con un “Dovreste rifare delle prove, grazie”.
Dopo questa cosa ho rifatto delle prove senza toccare una riga di codice ed ha funzionato nuovamente fino ad oggi.
Vi è mai capitata questa cosa? Dipende da qualche procedura errata secondo voi o è un problema dell’AE e non ci possiamo fare nulla?

Ho provato a dare un’occhiata ai nostri log e mi pare che le richieste non ci mettano mai più di 2-3 secondi (e nella maggior parte dei casi meno di un secondo). Sai dirmi le date in cui hai avuto problemi così posso fare una verifica più puntuale?

Mi verrebbe da pensare che ci siano problemi di connettività tra i vostri server e il SdI, ma quel errore 504 è strano. Vuol dire che c’è un reverse proxy di mezzo, presumibilmente il load balancer del SdI, attraverso cui però ci passiamo tutti e noi un errore del genere non lo abbiamo proprio mai visto.

@vbato Ciao grazie della risposta, preciso che le chiamate le sto facendo al servizio di test per i test di interoperabilità, allora mi è capitato la prima volta a fine ferbbraio (dal 22/2 al 27/2) e adesso nuovamente da venerdì 6/3 fino a verso le 9:30 di stamattina 9/3, momento a partire dal quale sembra essere tornato tutto alla normalità.
Infatti ora invio fatture e ricevo le notifiche nuovamente senza problemi e senza aver toccato una riga di codice.
Addirittura quando non andava, ho anche provato ad inviare fatture dal server locale, dalla linea di casa, con connessione mobile ma nessuno di questi andava, l’unica spiegazione fantascientifica (perchè non ci trovo alcun senso) che mi sono dato è stata quella che o mi mettono il certificato in blacklist in qualche modo e mi disabilitano l’account per poi riattivarmelo, oppure semplicemente spengono il server il weekend o nel periodo segnalato qua sopra.

Mancava questa informazione. Da quello che ho letto su questo forum, i server di test hanno spesso avuto problemi. Quando ci siamo accreditati noi (verso novembre 2018) è andato tutto liscio, ma so che altri invece hanno avuto problemi analoghi ai tuoi.

Pensavo che fosse dovuto alla grande mole di richieste di accreditamento all’epoca e pochi server di test disponibili, ma a quanto pare i problemi perdurano.
Ho il vago sospetto che ci siano tipo uno o due server per i test e che nessuno li guarda. Periodicamente si bloccano e rimangono bloccati finché qualche sistemista non se ne accorge per caso. O finché qualcuno non chiama l’assistenza per lamentarsi.

Quindi l’unica cosa che posso consigliarti è di continuare a rompere le scatole all’assistenza. Se vedi che ogni volta che li contatti, i server tornano a funzionare, puoi tranquillamente concludere che è colpa loro.

Buon giorno e buona domenica di clausura a tutti :slight_smile:
Ho seguito tutto il 3d corrente perchè riscontro problemi vari a fare i più banali test di interoperabilità.
Nello specifico, dettagli tecnici: php5.6 con tutto quel che serve abilitato.
Come classe Soap uso Nusoap.
Cerco di chiamare SdiRiceviFile ma il sistema mi restituisce un bellissimo 404!!!

parte di codice

require_once(“{$_SERVER[‘DOCUMENT_ROOT’]}/nusoap/nusoap/lib/nusoap.php”);
$client = new nusoap_client(“https://testservizi.fatturapa.it/SdI2AccoglienzaWeb/SdIRiceviFile_service/WEB-INF/wsdl/SdIRiceviFile_v1.0.wsdl”, true);
$client->authtype = “certificate”;
$client->certRequest = array(
“sslcertfile” => “{$_SERVER[‘DOCUMENT_ROOT’]}/application/libraries/SdiTest/SDI-01296270091_cli.crt”,
“cainfofile” => “{$_SERVER[‘DOCUMENT_ROOT’]}/application/libraries/SdiTest/CA_Agenzia_delle_Entrate_all.pem”,
“sslkeyfile” => “{$_SERVER[‘DOCUMENT_ROOT’]}/application/libraries/SdiTest/mykey.key”,
“passphrase” => “xxxxxx”,
“verifypeer” => false,
);

$result = $client->call(“RiceviFile”, $fileSdIAccoglienza);

Errore 404 sul file /sdi/ws/trasmissione/v1.0/types/TrasmissioneTypes_v1.0.xsd

Se provo a costruirmi io un swdl spippolando sui namespace ecc invece arriva un errore 500 internal server…

Immagino possa essere un problema dei server di test ma … boh!
Grazie