La configurazione implementata prevede:
•COGL64: programma di caricamento e gestione dei dati (archivi) in cui sono memorizzati i dati da inviare e le relative risposte
•COGL65: programma di visualizzazione dettaglio dei singoli invii effettuati
•COGL64S: è il programma che, solo nella versione compilata in IsCobol, esegue l'interfacciamento con il WebService Sincrono
La connessione verso il WebService Ministeriale si caratterizza per:
•Endpoint di accesso: è l'URL verso cui ci si collega, nel caso specifico ne esistono 2 distinti a seconda del fatto che ci si voglia collegare all'ambiente di test o a quello di produzione
•Autenticazione: è costituita da 2 parti separate
otipo di autenticazione: la modalità consentita è Basic
ocredenziali di Autenticazione: Username e password, sono fornite con la lettera di accreditamento al Sistema: queste ultime caratteristiche devono essere unite in un'unica stringa del tipo username:password che poi deve essere codificata in base64 tramite openssl. Per eseguire questa attività:
▪andare nella cartella openssl dell'ambiente operativo
▪inserire nel file basicWSaccess.enc la stringa username:password sostiuendo i valori assegnati
▪eseguire la bat encodebasic.bat presente nella cartella openssl
▪verrà generato un file basicWSaccess.b64 contenente la stringa codificata (es. "QTEyRFozVVA6U2FsdmUxMjM=")
oNota: le credenziali sono differenti a seconda dell'URL di accesso, tramite le credenziali ufficiali non si può accedere agli endpoint di test e viceversa con quelle di test non si può accedere
a quelli di produzione
oNota: la password scade ogni anno e va cambiata prima di fare qualsiasi operazione
Tutti i parametri sopra descritti sono indicati come variabili di configurazione all'interno del file di configurazione iscobol.properties utilizzato nel lancio dell'ambiente operativo:
*--------------------------------------------------------
*gli endpoint di accesso: per il servizio di base
*
iscobol.sts_webapp_base_url=https://invioSS730p.sanita.finanze.it/DocumentoSpesa730pWeb/DocumentoSpesa730pPort
iscobol.sts_test_base_url=https://invioSS730pTest.sanita.finanze.it/DocumentoSpesa730pWeb/DocumentoSpesa730pPort
* per lo scaricamento delle ricevute PDF:
iscobol.sts_webapp_rice_url=https://invioSS730p.sanita.finanze.it/Ricevute730ServiceWeb/ricevutePdf
iscobol.sts_test_rice_url=https://invioSS730pTest.sanita.finanze.it/Ricevute730ServiceWeb/ricevutePdf
*
*--------------------------------------------------------
* i parametri di autenticazione:
*iscobol.sts_auth_string=Basic QTEyRFozVVA6U2FsdmUxMjM=
Poiché il dialogo tramite il webservice avviene per mezzo di un canale SSL è necessario istanziare il collegamento tramite un ultimo parametro che permette di instaurare la connessione sicura: il Certificato SSL.
Questa parte di procedura si può fare anche su un pc differente da quello che poi si collegherà effettivamente al webservice.
Per verificare la validità del certificato in c:\eurocoge\certificati è stata creata la usa-keytool-verifica-certificati.bat in essa inserire la password usata per il certificato in uso e lanciarla da prompt: verrà emesso un report dei certificati inseriti nel keystore che riporterà (di solito all'inizio) una dicitura del tipo:
che indica il periodo di validità dei certificati presenti nel keystore.
Per ottenerlo e poterlo utilizzare occorre seguire questa procedura:
•aprire un browser (Firefox, Chrome, Explorer, Opera, non funziona con Edge)
•copiare l’URL dell'endpoint del service nell'indirizzo
•all'apertura del sito viene visualizzato un lucchetto a fianco dell'indirizzo
•sicurezza
•visualizza certificato
•esporta scegliere un nome file
•di solito va bene il formato predefinito (.crt o .cer)
•devo avere installato il jdk per usare il tool java keytool, in c:\eurocoge\certificati ci sono della bat già pronte:
usa-keytool-produzione.bat o usa-keytool-test.bat : le bat sono così costruite:
SET PATH=c:\Programmi\java\jdk1.8.0_66\bin
keytool -importcert -file nomefile_certificato_scaricato.crt -keystore nome_file_di_chiave_da_generare.jks -alias nome_alias_certificato
* es. keytool -importcert -file invioSS730pTest.sanita.finanze.it.crt -keystore invioSS730pTest.jks -alias invioSS730pTest
il lancio della bat chiederà una password_certificato che poi dovrà essere usata successivamente nella riga di comando di avvio del programma sotto iscobol
•ottenuto così il file .jks
Link con informazioni utili relative al keytool:
http://lokeshtc.blogspot.com/2012/10/how-to-check-certificate-validity-using.html
NOTA1
1.Quando si ricopiano gli archivi dal server principale nella cartella arc-isc del pc che compie l'invio è NECESSARIO che sia presente una sottocartella log che conterrà i file xml di log della comunicazione con il webservice
2.prelevare i file cog*.* dalla cartella
NOTA2:
Le note di accredito costituiscono rimborso e creano problemi sulla risposta fornita dal web service quindi
1.isolarle come data
2.processare fino a quella data in modo tale che sia l'ultima (sono in ordine di documento)
3.uscire dall'applicativo per resettare il runtime e la connessione con web-service
4.processare la data successiva in un'altra tranches di elaborazione