Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fruizione api ANPR configurate tramite GovLet #140

Open
hal-berto opened this issue Oct 31, 2023 · 1 comment
Open

Fruizione api ANPR configurate tramite GovLet #140

hal-berto opened this issue Oct 31, 2023 · 1 comment
Labels
support Technical support

Comments

@hal-berto
Copy link

hal-berto commented Oct 31, 2023

Buongiorno,
ho configurato l'accesso alle API di ANPR tramite l'apposito GovLet messo a disposizione.
Sto ora effettuando alcune chiamate di test, ma senza successo.
Le chiamate avvengono nel seguente modo:

Endpoint: http://<GOVWAY_SERVER_IP>/govway/out/Ente/ANPR/NotificheN000/v1 (dove "Ente" è un ente di test configurato in Govway)

Headers:
Content-Type: text/xml; charset=utf-8;
SOAPAction: test

Basic-autentication: ho inserito le credenziali configurate in fase di installazione della GovLet

Request body:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:n00="http://sogei.it/ANPR/N000AnprService"> <soapenv:Header/> <soapenv:Body> <n00:RichiestaN000> { "idOperazioneClient":"22", "criteriRicerca":{ "codiceFiscale":"PGNLRT82C01C139P" }, "datiRichiesta":{ "dataRiferimentoRichiesta":"2023-10-25", "motivoRichiesta":"PROT.NUM.12345", "casoUso":"C001" } } </n00:RichiestaN000> </soapenv:Body> </soapenv:Envelope>

Ottengo purtroppo in risposta il seguente errore:

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"> <SOAP-ENV:Header/> <SOAP-ENV:Body> <SOAP-ENV:Fault> <faultcode> SOAP-ENV:Client.BadRequest </faultcode> <faultstring> Bad request </faultstring> <faultactor> http://govway.org/integration </faultactor> </SOAP-ENV:Fault> </SOAP-ENV:Body> </SOAP-ENV:Envelope>

Nella console di monitoraggio delle transazioni il messaggio di errore è un po' più dettagliato:
"Processo di trasformazione (freemarker-context) della richiesta fallito: Trasformazione richiesta terminata con errore: Il codiceMittente non risulta presente nella richiesta"

Manca qualche dettaglio nella configurazione?
Se apro il wsdl che contiene le specifiche dell'API non viene menzionato il "codiceMittente". Dove devo metterlo?
Eventualmente non sarebbe possibile cambiare la configurazione per fare in modo che venga accettato un body in formato JSON?

@hal-berto hal-berto added the support Technical support label Oct 31, 2023
@andreapoli
Copy link
Member

Buongiorno @hal-berto,
la govlet consente di realizzare tramite un wizard la configurazione necessaria a fruire dei servizi ANPR disponibili alle url 'https://wsfree.anpr.interno.it/...' (o altri ambienti wstest.anpr.interno.it, wspre.anpr.interno.it o ws.anpr.interno.it).

Le fruizioni che vengono configurate dalla GovLet si occupano di aggiungere alle richieste originali SOAP, che deve produrre il client, la sovrastruttura di sicurezza richiesta da ANPR.

Tanto premesso, la richiesta che stai utilizzando non è una richiesta SOAP valida rispetto al wsdl del servizio. Hai utilizzato un ibrido inserendo un contenuto json all'interno del soap body.

Di seguito un comando corretto per invocare il servizio 'NotificheN000':

curl -v -X POST -u ApplicazioneANPR:123456 "http://127.0.0.1:8080/govway/out/Ente/ANPR/NotificheN000/v1?operatore=USERSFREETEST116&postazione=888116-CO-0000" -H 'Content-Type: text/xml;charset=UTF-8' -H 'SOAPAction: ""' -d '<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:Body> <tns:RichiestaN000 xmlns:tns="http://sogei.it/ANPR/N000AnprService"> <testataNotifica> <tipoNotifica>tipoNotifica0</tipoNotifica> <codMittente>003106</codMittente> <codDestinatario>ANPR02</codDestinatario> <dataOraRichiesta>2006-05-04T18:13:51.0</dataOraRichiesta> <idOperazioneANPR>0</idOperazioneANPR> </testataNotifica> <contenuto>ZGVmYXVsdA==</contenuto> </tns:RichiestaN000> </soapenv:Body> </soapenv:Envelope>'

Eventualmente non sarebbe possibile cambiare la configurazione per fare in modo che venga accettato un body in formato JSON?

Come detto in precedente, il wizard realizza una configurazione che richiede in input una richiesta SOAP e non consente quindi di inviare richieste JSON.
Se vuoi cimentarti nella realizzazione di una configurazione come da te indicato, dovresti effettuare una nuova registrazione di API Rest (caricando un'interfaccia OpenAPI che descriva i messaggi di richiesta e risposta in json) e una nuova fruizione che implementa oltra alla logica di aggiunta dei criteri di sicurezza anche una trasformazione che realizza l'esigenza attraverso:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
support Technical support
Projects
None yet
Development

No branches or pull requests

2 participants