dopo le modifiche fatte ieri dopo il post, ha iniziato a funzionare correttamente.
per l’invio usiamo il comando soapClient esteso per gestire MTOM e con opzione local_cert dove passiamo il pfx convertito pem.
per quanto riguarda il file, attualmente lo passiamo non firmato e risulta ricevuto con successo da SDI.
il problema dell’errore 200 era dovuto dal fatto che eseguivamo l’encode base64 del file prima di inoltrarlo…ma dato che l’encode avviene in automatico, avveniva un doppio encode.
attualmente ci rimane il problema javax.net.ssl.SSLHandshakeException: General SSLEngine problem che se non ho capito male, è l’errore generato quando SDI non riesce ad inoltrare la notifica di ritorno a causa di un errore nei certificati (probabilmente il nostro server non chiede i certificati o chiede quelli corretti)
una curiosità.
Come apponi la firma sul file?
-firmi il file in esterno e poi lo inoltri as SDI
-firmi in maniera programmatica con una libreria (se usi php, quale consigli ?) e poi giri il tutto a sdi
Al momento firmiamo in esterno con chiavetta cns.
Stiamo cercando come poter fare firma massiva da codice ma non abbiamo ancora una soluzione, però non usiamo php ma lavoriamo con .net e server iis.
Ciao Giulio, anche noi lavoriamo con .net e dobbiamo attrezzare un server iis per inviare e ricevere le fatture elettroniche. Come hai proceduto per l’installazione dei certificati sul server IIS? Puoi condividere uno stralcio di codice da usare come punto di partenza per la trasmissione di una fattura con codice .net? Un post del genere sono sicuro che sarebbe utile a moltissimi utenti.
Intanto posto il codice .net che sta usando BrightSoul per la connessione ad un WS PA:
Ciao Luca,
come codice guarda qui, avevo già scritto in proposito:
Per quanto riguarda i certificati sul server non mi esprimo in quanto non siamo ancora riusciti a ricevere correttamente le notifiche quindi darei informazioni sbagliate, siamo attualmente bloccati su questo punto, le chiamate al nostro ws trasmissionefatture non funzionano.
Adesso iniziamo ad essere in tanti qui che usano .net e iis, dai che forse riusciamo ad arrivare in fondo
Salve a tutti,
io sto implementando una APP mobile IONIC3 una webapp con Angular 5 che consuma API da un webservice in Laravel 5.6. Non so se può essere utile a qualcuno ma per ovviare al problema della gestione MTOM su SoapClient, uso questo pacchetto composer…
Io mi ero informato per firma digitale massiva con Aruba, che ha un prodotto apposito che si chiama Aruba Secure Box, ma i costi sono abbastanza elevati.
Ciao, Anch’io ho utilizzato quella classe ma da qualche errore quando SDI ti inoltra la response negativa per l’invio della notifica di accettazione/scarto della fattura ricevuta.
SOAP-ERROR: Encoding: Violation of encoding rules
in pratica anche se c’è il tag xop non c’è la stringa di chiusura --uuid. questo comporta che la classe non riesce ad individuare la parte binaria dell’allegato, lasciando l’xml “sporco”
quello che uso attualmente è riportato poco sopra alla data del 19 giungo.
per la spiegazione dei certificati da usare ho usato il certificato pfx convertito in pem
la spiegazione la trovi a questo link Installazione certificati canale SDICOOP
questo mi ha permesso di inoltrare i file a SDI ma la response veniva troncata.
quindi ho modificato la classe soapClient con la classe postata da da Paolo_pedrazzi_digit il 29 giugno
grazie… ma siccome sto impazzendo un po il tuo apache come lo hai fatto? perchè io sto mettendo
SSLEngine on
SSLCertificateFile /pathto/SDI-xxxxx-server.pem
SSLCertificateKeyFile /pathto/mykeya.key
SSLCertificateChainFile /pathto/caentrate.der
SSLVerifyClient optional
SSLVerifyDepth 5
SSLCACertificateFile /pathto/caentrate.der
SSLStrictSNIVHostCheck off
purtroppo li non posso aiutarti.
attualmente inoltriamo la fattura (non firmata) e riceviamo la response di presa in carico.
a causa dei conflitti nei certificati (il nostro con quello fornito da f.pa) non riusciamo ancora ad ottenere una ricezione della notifica positiva.
In pratica verificando il flusso dal portale FatturaPa vedo che l’invio avviene con successo ma poi quando loro mi inoltrano la notifica o una fattura, non la ricevo per General SSLEngine problem
Ciao a tutti ho eseguito alla lettera il tuo codice ma niente ecco il mio risultato
Uncaught SoapFault exception: [WSDL] SOAP-ERROR: Parsing WSDL: Couldn't load from 'https://testservizi.fatturapa.it/SdI2AccoglienzaWeb/SdIRiceviFile_service/WEB-INF/wsdl/SdIRiceviFile_v1.0.wsdl' : failed to load external entity "https://testservizi.fatturapa.it/SdI2AccoglienzaWeb/SdIRiceviFile_service/WEB-INF/wsdl/SdIRiceviFile_v1.0.wsdl" in /hthost/chiamata.php:51 Stack trace: #0 /hthost/chiamata.php(51): SoapClient->SoapClient('https://testser...', Array) #1 {main} thrown in /hthost/chiamata.php on line 51
io ho creato il convertito il certificato pfx in pem con il seguente comando
per conto nostro, continuiamo a ricevere errore di comunicazione nella ricezione delle notifiche e delle fatture. restituisce sempre l’errore “Protocol Version”
per caso qualcuno di voi è capitato lo stesso problema?
che tipo di configurazione avete impostato sul server per poter ricevere correttamente?
e che versione/distribuzione usate ?
avete un singolo certificato oppure usate il vostro certificato assieme al certificato dell’agenzia?
Ormai le stiamo provando un po’ tutte.
da quello che mi dicono hanno provato a rimuovere i nostri certificati, usare solo quelli dell’agenzia, usare entrambi, usare una versione con entrambi i certificati concatenati, abilitare tutti i protocolli ssl (sslv3, tls) abilitare solo il tls1.2, mandare ticket…
ma nulla.
sembra che nulla funzioni correttamente.
in fase di ricezione della notifica il server non viene raggiunto perchè il protocollo non è compatibile o Server chose SSLv3, but that protocol version is not enabled or not supported by the client.
inizio a domandarmi se per caso, come per l’invio, non debbano abilitare loro qualcosa. o che stiano inviando le notifiche senza il nostro certificato.
Tuttavia, nel mio test in php continuo sempre ad ottenere l’eccezione SOAP SOAP-ERROR: Parsing WSDL: Couldn't load from 'https://testservizi.fatturapa.it/SdI2AccoglienzaWeb/SdIRiceviFile_service/WEB-INF/wsdl/SdIRiceviFile_v1.0.wsdl' : failed to load external entity