ministero-salute / it-fse-support

https://ministero-salute.github.io/it-fse-support/
33 stars 20 forks source link

Errore chiamata #878

Closed lorenzonet closed 3 months ago

lorenzonet commented 3 months ago

Salve,

effettuando la chiamata di validazione ricevo il seguente errore:

{"type":"https://govway.org/handling-errors/400/InteroperabilityInvalidRequest.html","title":"InteroperabilityInvalidRequest","status":400,"detail":"Received request is not conform to the required interoperability profile","govway_id":"efca3374-265b-11ef-8aa0-005056ae54fa"}

Sapreste indicarmi dove è l'errore?

vigliottim commented 3 months ago

Buongiorno, dalle analisi svolte è emerso che nella request manca l'header "Authorization" tra i parametri. Come indicato in documentazione, l'Autorization Bearer token è obbligatorio e viene trasportato nell’header "Authorization" di tipo "Bearer": Authorization: Bearer {VALORE DEL TOKEN} La invitiamo ad effettuare la correzione indicata e riprovare. Grazie.

lorenzonet commented 3 months ago

Eseguendo il debug della mia applicazione l'header risulta essere correttamente valorizzato, ho fatto un piccolo cambiamento ma ottengo sempre il solito errore:

{"type":"https://govway.org/handling-errors/400/InteroperabilityInvalidRequest.html","title":"InteroperabilityInvalidRequest","status":400,"detail":"Received request is not conform to the required interoperability profile","govway_id":"2e7e8a7b-2726-11ef-a6bf-005056ae7395"}

LucaRogledi commented 3 months ago

Buongiorno, dalle analisi sulla chiamata da lei effettuata risulta che i token utilizzati sono scaduti. La invitiamo a riprovare utilizzando nuovi token. Grazie

lorenzonet commented 3 months ago

Ho recreato i token e adesso funziona, ma i tokens che avevo utilizzato scadevano nel 2025, erano creati con il parametro -t 10000. C'è forse un limite di durata in ogni caso? Comunque un messaggio di errore più esplicativo sarebbe opportuno per non perdere tempo e farlo perdere a chi deve fornire assistenza.

vigliottim commented 3 months ago

Buongiorno, dalle analisi svolte sui log della chiamata da lei effettuata, il token utilizzato risulta essere scaduto poiché creato in data 08-06-2024. Come riportato in documentazione, vista la dipendenza dei token dai valori specifici di utente/soggetto/documento è necessario generare nuovi JWT per ogni chiamata alle API. Rimaniamo a disposizione per chiarimenti.

lorenzonet commented 3 months ago

La data di creazione non è la data di scadenza, e la scadenza è nel 2025. Ad ogni modo non riesco a capire come mai il token generato dal mio codice non funziona mentre quello del jwt-generator invece si.

Questo è generato dal jwt-generator:

eyJ4NWMiOlsiTUlJRmJUQ0NBMVdnQXdJQkFnSVVlZHVySHlmZUNnTmR6TFFQK2dsdCtuQVVLdE13RFFZSktvWklodmNOQVFFTEJRQXdWekVuTUNVR0ExVUVBd3dlUTBFZ1RXbHVhWE4wWlhKdklHUmxiR3hoSUZOaGJIVjBaU0JVWlhOME1SOHdIUVlEVlFRS0RCWk5hVzVwYzNSbGNtOGdaR1ZzYkdFZ1UyRnNkWFJsTVFzd0NRWURWUVFHRXdKSlZEQWVGdzB5TkRBeE16QXhOekF5TURGYUZ3MHlOekF4TXpBeE56QXlNREJhTUc0eEN6QUpCZ05WQkFZVEFrbFVNUjh3SFFZRFZRUUtEQlpOYVc1cGMzUmxjbThnWkdWc2JHRWdVMkZzZFhSbE1SOHdIUVlEVlFSaERCWkRSanBKVkMxUVVrOVdRVmd3TUZnd01GZ3dNREJaTVIwd0d3WURWUVFEREJSVE1TTXhNVEVqVjBWUVUwVlNWa2xEUlZOWU1UQ0NBU0l3RFFZSktvWklodmNOQVFFQkJRQURnZ0VQQURDQ0FRb0NnZ0VCQUw2Zndkb2k5N1JBckVqS2hxMzBOa2JyR2txMHNqVUY0czNQSEdPbzMwc0NGVHRsWTRlNC9iM3EzeXF2c3EzbENQNHI2VnJIOTFUckZMQlZ4d0NzRnQyQ2FBNHJhazBoYVNkTkFxVjhtbGltajgwWFd2MEJVOU1hQlZOb1hxYU5GSzg3c1VUNE55emg3TllNaVpSUFNwVmVtaTcrbS94a056bFRSMlA0bmt6YTZSZ0x3cDl0K2tGVnhjT0xxTlpwYmRrWnZhYmN2NVNUNEFrNVFvaXR6cm00K0xMRkRZR2o0T0ZydHRXOVJnNG4wTWFzWEdEYkd6Ty9FVWl0L0g4SzBWeExLczhRSmpnV2drbUVWaFZ1UTlaY093ZXR6QVRIRkdsQTlYS1dha2pKeG13OUo2Vm9lRmQwYldIbVFJQnowT2Jad1hZaG9mYmxhWWpNNlh5dEVHOENBd0VBQWFPQ0FSZ3dnZ0VVTUI4R0ExVWRJd1FZTUJhQUZCWTVxUm9GaWJjUExiSTE3Y0lKbXNVRGd5SS9NQklHQTFVZElBUUxNQWt3QndZRkswd2RBUXN3Z2EwR0ExVWRId1NCcFRDQm9qQ0JuNkNCbktDQm1ZYUJsbWgwZEhCek9pOHZZMkZ6YjJkbGFYTjJhV3d1YzI5blpXa3VhWFF2WldwaVkyRXZjSFZpYkdsamQyVmlMM2RsWW1ScGMzUXZZMlZ5ZEdScGMzUS9ZMjFrUFdOeWJDWnBjM04xWlhJOVEwNGxNMFJEUVN0TmFXNXBjM1JsY204clpHVnNiR0VyVTJGc2RYUmxLMVJsYzNRbE1rTlBKVE5FVFdsdWFYTjBaWEp2SzJSbGJHeGhLMU5oYkhWMFpTVXlRME1sTTBSSlZEQWRCZ05WSFE0RUZnUVVOUlI1R2F0cThYS0N5eTNQUFRLTzhzODF0S1F3RGdZRFZSMFBBUUgvQkFRREFnWkFNQTBHQ1NxR1NJYjNEUUVCQ3dVQUE0SUNBUUJkRDBkTDl0bmdncHNkc0c4d044Y0pEUktKV0M2ejg5ekE5RzI0cFhsZ3ZBeVhRWEpMbTdFbmlYUlYrZkdFamxqTmtkbHcwQW9YTkREbTcvQU9jQ2FDT3AvYVFTeFJvNkJlcFR6WkdhYU5EcHpVUWpXdTVkWWUvOW9CcGdoM3NnM3Ria0cwTXNjdGhvTmxKT1k4VlNDM2F6QWpZMkhYS1RNWUJ2Vlo0VnN2RHdoejNVb1c1Uy9abUgzT1I4L09relF5LzB2TjhPc09PZnZobmtQZmJkYWozclVMSE9MU0lTdkZETDZxLzFRTVNaZjNnOCtGZm1jdlZ4M1lpam56a3J1VzhDcUdQRzc3ZW5NTkJULzl4bEhUamkyOTBLV3MxeVRlZVhrY1dXRldJVlZGcFF1Ly9mK25GSHkrU055Slh6V3RnSFVJRXlLS0h3NW43T2ZkVWk5UnprVlllVGFoUlVza013Z3E1NG05K0pxaVpNMmw5WlBLajd0dGdkcGtWRlRsWlE2VWxTZ1pWWEhHZ1JOUGRxdjI5M2NhODUvc1FkVkhwcnpyNzhROTAzbTlvTld6TldjQU1hT3pIR1kvR1ZKOFZxY1JuQkRlai9mUmxwcXArb2RCZU1MM3FJWTkzKzdtZUNsZ3k1MHExdVdNT2tKRml3U29EOTFPcGVBaC9ON09pbE1CRGkzN2YxOVE5cGlkRXExd05ZbEVodEtGUTF4YTd6Y2FmZ1g3Y2FFbitRbkszZmRnWHVLbERqZDIrc3drMUt0UnM4T00xV2UwMjhUWDVjcHl1RzRscTRuTHpCbGdMVVQwMHM4N1FtazY5SjFhZVhSWHhucGxJdTRFaFl4R3U4RTVaYmxaRi9yYXdhZVYyQmN4MFFZcFdvVTFna2hXMUdhYkhZTHNmdz09Il0sInR5cCI6IkpXVCIsImFsZyI6IlJTMjU2In0.eyJzdWIiOiJSU1NNUkEyMkEwMUEzOTlaXl5eJjIuMTYuODQwLjEuMTEzODgzLjIuOS40LjMuMiZJU08iLCJhdWQiOiJodHRwczovL21vZGlwYS12YWwuZnNlLnNhbHV0ZS5nb3YuaXQvZ292d2F5L3Jlc3QvaW4vRlNFL2dhdGV3YXkvdjEiLCJpc3MiOiJhdXRoOlMxIzExMSNXRVBTRVJWSUNFU1gxIiwiZXhwIjoxNzU0MTk2NTM5LCJpYXQiOjE3MTgxOTY1MzksImp0aSI6IjEyMzQ1Njc4OTAifQ.oPvbrbOQPuoi9snXSmlG6BzPMJMa9UKaOn_hhcfIj9w8b6VcFvCaQ1OdmMG1EC3g834CwhH2GbGEh8xOf6f4OsrfptwiB7aFhc8cLmB56veFbdJzbJ1yOkSNTbO7RqfS7XdLxNIaHUEMjVNa3v0OOlCIPYeUFtPTMUlkBO5jsbBI1r6x0OGGgj6LkCwfE3DtM7_bncB4X-PJJBpoQN6yxh-ooHYJbrJYqmYu2U5jcpqmj2F5Pdl4uvQHGCAcp7NPJBvhxiS2Jumjsd9SGeIkaabklBj1_xGNabp3PdD9UHYjTiaTMYGCrpeYEXql5RvufLiE6boAWbazhjyRzrkfnw

risposta: {"traceID":"a0441613c8ec3127","spanID":"a0441613c8ec3127","workflowInstanceId":"2.16.840.1.113883.2.9.2.120.4.4.2149fb78666c205ac20b9bd2d882af037f0819429c691196eaa8054488c56c20.07f2da40c4^^^^urn:ihe:iti:xdw:2013:workflowInstanceId","warning":"[SIGN_WARN - Attenzione il documento risulta firmato in validazione]"}

Questo dal codice:

eyJ4NWMiOlsiTUlJRmJUQ0NBMVdnQXdJQkFnSVVlZHVySHlmZUNnTmR6TFFQXHUwMDJCZ2x0XHUwMDJCbkFVS3RNd0RRWUpLb1pJaHZjTkFRRUxCUUF3VnpFbk1DVUdBMVVFQXd3ZVEwRWdUV2x1YVhOMFpYSnZJR1JsYkd4aElGTmhiSFYwWlNCVVpYTjBNUjh3SFFZRFZRUUtEQlpOYVc1cGMzUmxjbThnWkdWc2JHRWdVMkZzZFhSbE1Rc3dDUVlEVlFRR0V3SkpWREFlRncweU5EQXhNekF4TnpBeU1ERmFGdzB5TnpBeE16QXhOekF5TURCYU1HNHhDekFKQmdOVkJBWVRBa2xVTVI4d0hRWURWUVFLREJaTmFXNXBjM1JsY204Z1pHVnNiR0VnVTJGc2RYUmxNUjh3SFFZRFZRUmhEQlpEUmpwSlZDMVFVazlXUVZnd01GZ3dNRmd3TURCWk1SMHdHd1lEVlFRRERCUlRNU014TVRFalYwVlFVMFZTVmtsRFJWTllNVENDQVNJd0RRWUpLb1pJaHZjTkFRRUJCUUFEZ2dFUEFEQ0NBUW9DZ2dFQkFMNmZ3ZG9pOTdSQXJFaktocTMwTmtickdrcTBzalVGNHMzUEhHT28zMHNDRlR0bFk0ZTQvYjNxM3lxdnNxM2xDUDRyNlZySDkxVHJGTEJWeHdDc0Z0MkNhQTRyYWswaGFTZE5BcVY4bWxpbWo4MFhXdjBCVTlNYUJWTm9YcWFORks4N3NVVDROeXpoN05ZTWlaUlBTcFZlbWk3XHUwMDJCbS94a056bFRSMlA0bmt6YTZSZ0x3cDl0XHUwMDJCa0ZWeGNPTHFOWnBiZGtadmFiY3Y1U1Q0QWs1UW9pdHpybTRcdTAwMkJMTEZEWUdqNE9GcnR0VzlSZzRuME1hc1hHRGJHek8vRVVpdC9IOEswVnhMS3M4UUpqZ1dna21FVmhWdVE5WmNPd2V0ekFUSEZHbEE5WEtXYWtqSnhtdzlKNlZvZUZkMGJXSG1RSUJ6ME9iWndYWWhvZmJsYVlqTTZYeXRFRzhDQXdFQUFhT0NBUmd3Z2dFVU1COEdBMVVkSXdRWU1CYUFGQlk1cVJvRmliY1BMYkkxN2NJSm1zVURneUkvTUJJR0ExVWRJQVFMTUFrd0J3WUZLMHdkQVFzd2dhMEdBMVVkSHdTQnBUQ0JvakNCbjZDQm5LQ0JtWWFCbG1oMGRIQnpPaTh2WTJGemIyZGxhWE4yYVd3dWMyOW5aV2t1YVhRdlpXcGlZMkV2Y0hWaWJHbGpkMlZpTDNkbFltUnBjM1F2WTJWeWRHUnBjM1EvWTIxa1BXTnliQ1pwYzNOMVpYSTlRMDRsTTBSRFFTdE5hVzVwYzNSbGNtOHJaR1ZzYkdFclUyRnNkWFJsSzFSbGMzUWxNa05QSlRORVRXbHVhWE4wWlhKdksyUmxiR3hoSzFOaGJIVjBaU1V5UTBNbE0wUkpWREFkQmdOVkhRNEVGZ1FVTlJSNUdhdHE4WEtDeXkzUFBUS084czgxdEtRd0RnWURWUjBQQVFIL0JBUURBZ1pBTUEwR0NTcUdTSWIzRFFFQkN3VUFBNElDQVFCZEQwZEw5dG5nZ3BzZHNHOHdOOGNKRFJLSldDNno4OXpBOUcyNHBYbGd2QXlYUVhKTG03RW5pWFJWXHUwMDJCZkdFamxqTmtkbHcwQW9YTkREbTcvQU9jQ2FDT3AvYVFTeFJvNkJlcFR6WkdhYU5EcHpVUWpXdTVkWWUvOW9CcGdoM3NnM3Ria0cwTXNjdGhvTmxKT1k4VlNDM2F6QWpZMkhYS1RNWUJ2Vlo0VnN2RHdoejNVb1c1Uy9abUgzT1I4L09relF5LzB2TjhPc09PZnZobmtQZmJkYWozclVMSE9MU0lTdkZETDZxLzFRTVNaZjNnOFx1MDAyQkZmbWN2VngzWWlqbnprcnVXOENxR1BHNzdlbk1OQlQvOXhsSFRqaTI5MEtXczF5VGVlWGtjV1dGV0lWVkZwUXUvL2ZcdTAwMkJuRkh5XHUwMDJCU055Slh6V3RnSFVJRXlLS0h3NW43T2ZkVWk5UnprVlllVGFoUlVza013Z3E1NG05XHUwMDJCSnFpWk0ybDlaUEtqN3R0Z2Rwa1ZGVGxaUTZVbFNnWlZYSEdnUk5QZHF2MjkzY2E4NS9zUWRWSHByenI3OFE5MDNtOW9OV3pOV2NBTWFPekhHWS9HVko4VnFjUm5CRGVqL2ZSbHBxcFx1MDAyQm9kQmVNTDNxSVk5M1x1MDAyQjdtZUNsZ3k1MHExdVdNT2tKRml3U29EOTFPcGVBaC9ON09pbE1CRGkzN2YxOVE5cGlkRXExd05ZbEVodEtGUTF4YTd6Y2FmZ1g3Y2FFblx1MDAyQlFuSzNmZGdYdUtsRGpkMlx1MDAyQnN3azFLdFJzOE9NMVdlMDI4VFg1Y3B5dUc0bHE0bkx6QmxnTFVUMDBzODdRbWs2OUoxYWVYUlh4bnBsSXU0RWhZeEd1OEU1WmJsWkYvcmF3YWVWMkJjeDBRWXBXb1UxZ2toVzFHYWJIWUxzZnc9PSJdLCJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJzdWIiOiJSU1NNUkEyMkEwMUEzOTlaXl5eXHUwMDI2Mi4xNi44NDAuMS4xMTM4ODMuMi45LjQuMy4yXHUwMDI2SVNPIiwiYXVkIjoiaHR0cHM6Ly9tb2RpcGEtdmFsLmZzZS5zYWx1dGUuZ292Lml0L2dvdndheS9yZXN0L2luL0ZTRS9nYXRld2F5L3YxIiwiaXNzIjoiYXV0aDpTMSMxMTEjV0VQU0VSVklDRVNYMSIsImV4cCI6MTc1NDE5NjUzOSwiaWF0IjoxNzE4MTk2NTM5LCJqdGkiOiIxMjM0NTY3ODkwIn0.fh_goLvKJEz8FGSHTcBkuHeVvqpwiYEBpj_EWXIL9GAgE2cIQPB4-MckXAtKItXF6L7k5w0klQigP6CraF5h2VGc0QxOZl7dk-ux1Wg0_j5bVtohCGTKqT0Q_RPI9ig5LQvX6RSaHTPZsvXZSq2qiUSIve972v2V6xOIcJqyJ0uCbPsS5PfGQ8OYXB7TnuCMCbKL6xKl4lMsyQwjDnWb2SLS8jDCArnLACSZPKxOpTr_qwiHrU1jWKycevfLhpdLUBYnjVw9PeUM4swV3ZOjzPTbhBsMUHFOQJLZS7Tqg1MD7sVN189ouZWGTkFCATlb6yh9M2SzBfc5g5spdLzqfg

risposta: {"type":"https://govway.org/handling-errors/400/InteroperabilityInvalidRequest.html","title":"InteroperabilityInvalidRequest","status":400,"detail":"Received request is not conform to the required interoperability profile","govway_id":"9296c596-28b9-11ef-8aa0-005056ae54fa"}

I Token non sono uguali ma la loro decodifica si, sia nell'header che nel payload. Come si spiega questo differente comportamento?

vigliottim commented 3 months ago

Buonasera, non avendo modo di effettuare operazioni di debug sul vostro codice, le suggeriamo di usare il tool messo a disposizione per generare i token jwt, con il quale l'esito della chiamata va a buon fine. In alternativa, la invitiamo ad aprire un post su Slack rivolto alla community, nel caso un altro utente abbia riscontrato il medesimo errore. Chiudiamo il presente ticket e rimaniamo a disposizione per altre richieste di supporto.

lorenzonet commented 3 months ago

Allora, ho scoperto il problema , che dipende dalla libreria Jwt.Net che è stata usata. Partendo dalla versione 10 è cambiato il sistema di decodifica che da Json.NET è passato a System.Text.Json, ad esempio il segno "+" viene convertito in "\u002B". In realtà la decodifica finale risulta corretta, non c'è alcuna differenza di contenuto, quindi, a mio avviso, dovreste verificare come mai il server non accetta tokens con questo tipo di contenuto.

Per gli sviluppatori .Net che utilizzano questa libreria il workaround consiste nell' inserire in maniera esplicita il serializer come riportato qui WithJsonSerializer(new JsonNetSerializer())