taocomp / php-sdicoop-client

A PHP package for connecting to Italian Exchange System (aka SdI) web services. (Pacchetto PHP per inviare fatture e notifiche ai webservices del SdI).
GNU General Public License v3.0
22 stars 6 forks source link

client esempio su SdIRiceviFile da "HTTP/1.1 500 Internal Server Error" #4

Closed bago closed 5 years ago

bago commented 5 years ago

Provando a fare la chiamata di esempio, lo sdi mi risponde con 500 internal server error.

Se non passo il certificato client mi da 403, quindi suppongo che il mio certificato client gli vada bene, ma non so da dove partire per investigare sul problema 500: è mai capitato a voi?

* About to connect() to testservizi.fatturapa.it port 443 (#0)
*   Trying 217.175.53.96...
* Connected to testservizi.fatturapa.it (217.175.53.96) port 443 (#0)
* Initializing NSS with certpath: sql:/etc/pki/nssdb
* skipping SSL peer certificate verification
* NSS: client certificate from file
*       subject: CN=SDI-02137700395,OU=Client,OU=Fatturazione Elettronica,O=Agenzia delle Entrate,C=IT
*       start date: Dec 20 17:23:39 2018 GMT
*       expire date: May 31 11:26:11 2021 GMT
*       common name: SDI-MIAPARTITAIVA
*       issuer: CN=CA Agenzia delle Entrate,OU=Servizi Telematici,O=Agenzia delle Entrate,C=IT
* SSL connection using TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA
* Server certificate:
*       subject: CN=testservizi.fatturapa.it,OU=Servizi Sicuri,O=Agenzia delle Entrate,C=IT
*       start date: Feb 14 12:18:26 2017 GMT
*       expire date: Feb 14 12:28:00 2020 GMT
*       common name: testservizi.fatturapa.it
*       issuer: CN=CA Agenzia delle Entrate,OU=Servizi Telematici,O=Agenzia delle Entrate,C=IT
> POST /ricevi_file HTTP/1.1
User-Agent: Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)
Host: testservizi.fatturapa.it
Content-type: text/xml;charset="utf-8"
Accept: text/xml
Cache-Control: no-cache
Pragma: no-cache
SOAPAction: http://www.fatturapa.it/SdIRiceviFile/RiceviFile
Content-length: 4012
Expect: 100-continue

< HTTP/1.1 100 Continue
< HTTP/1.1 500 Internal Server Error
< Date: Mon, 24 Dec 2018 15:41:33 GMT
< X-Powered-By: Servlet/3.0
< Content-Length: 348
< Set-Cookie: LtpaToken2=##SEQUENZA##; HTTPOnly; Path=/; Domain=.fatturapa.it; HttpOnly
< Expires: Thu, 01 Dec 1994 16:00:00 GMT
< Cache-Control: no-cache="set-cookie, set-cookie2"
< Connection: close
< Content-Type: text/xml; charset=utf-8
< Content-Language: en-US
<
* Closing connection 0
bago commented 5 years ago

Forse ho trovato. Mi pare che rinominando il mio file xml secondo il pattern richiesto dallo SdI la chiamata ora abbia funzionato. Non avevo valutato che un nome file potesse scaturire in un errore 500.

Grazie per la libreria!

aded commented 5 years ago

Ciao, il nome non valido del file dovrebbe portare a una NotificaScarto, non errore 500. Probabilmente hai apportato qualche altra modifica... :-)

PS: tieni presente che a breve cambierò il namespace della libreria, probabilmente in Taocomp\Einvoicing\Sdicoop\Client o Taocomp\Einvoicing\SdicoopClient, per via di un paio di classi presenti anche nel pacchetto server (php-sdicoop-server) e che generano un warning.

MwSpaceLLC commented 5 years ago

Grande, hai levato lo warring e mi si aggiorna tutto tramite composer update senza problemi !!!! 😆 😉 😊 😋 😎 😍 😘

bago commented 5 years ago

Sono piuttosto sicuro di non aver fatto altro che cambiare nome al file: forse il server di test era momentaneamente malfunzionante e rispondeva 500 a qualunque richiesta? (erano i miei primi tentativi, quindi non so quale sia la "disponibilità" di quel server e quando sia stabile).

Comunque ho visto che hai fatto un nuovo rilascio, aggiornerò e proverò con un nome sbagliato per vedere se il problema era quello. Grazie!

aded commented 5 years ago

Sono piuttosto sicuro di non aver fatto altro che cambiare nome al file: forse il server di test era momentaneamente malfunzionante e rispondeva 500 a qualunque richiesta? (erano i miei primi tentativi, quindi non so quale sia la "disponibilità" di quel server e quando sia stabile).

Comunque ho visto che hai fatto un nuovo rilascio, aggiornerò e proverò con un nome sbagliato per vedere se il problema era quello. Grazie!

Occhio ché è cambiato il namespace. Per quanto riguarda il nome della fattura, se eseguo da linea di comando: php examples/send-invoice.php ottengo comunque `Taocomp\Einvoicing\SdicoopClient\Client: RispostaSdIRiceviFile IdentificativoSdI:7214074 DataOraRicezione:2018-12-27T11:39:37.698+01:00

IdentificativoSdI: 7214074 DataOraRicezione : 2018-12-27T11:39:37.698+01:00`

bago commented 5 years ago

Ho appena provato e confermo che dipende dal nome file. Se chiamo il file xml con il nome "WS001-invio-file-errato.xml" il server mi risponde con un errore 500. Non sono stato a fare prove per capire quale parte del nome non piaccia, ma se metto "IT#MIAPARTITAIVA#_00001.xml" parte, mentre se lo stesso file lo chiamo come indicato prima, mi da errore 500. Considerata il mio magnetismo per i bug avrò beccato l'unico nome che non si aspettano :-)

aded commented 5 years ago

Ok, svelato l'arcano:

Ciao e buon anno! :-)

bago commented 5 years ago

Grazie per gli auguri e grazie per la libreria: a parte questi problemi del server che da errore senza spiegare perchè e del server che ogni tanto comincia a rispondere 500 a qualunque chiamata, dal punto di vista del codice di questa libreria ha funzionato tutto al primo colpo!

Sono a 8/10 sull'avanzamento per l'accreditamento. Spero che le 2 "notifiche decorrenze" siano solo da aspettare 24/48 ore dopo gli invii delle relative fatture.

LuigiElleBalotta commented 1 year ago

Scusate se commento una issue un po vecchiotta, ma anche tenendo un file nominato correttamente ricevo ugualmente un errore 500, allego screenshot:

Schermata 2022-09-30 alle 12 24 49

Schermata 2022-09-30 alle 12 25 22

Schermata 2022-09-30 alle 12 25 50

Caperious commented 1 year ago

@LuigiElleBalotta Have u resolved the issue?

LuigiElleBalotta commented 1 year ago

@LuigiElleBalotta Have u resolved the issue?

No since i'm not working anymore for that """company""", so I don't give a shit anymore :D