ministero-salute / it-fse-support

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

Errore sul tentativo di validazione CDA #777

Closed rondellimediam closed 4 months ago

rondellimediam commented 4 months ago

Buongiorno sto provando a validare un file xml CDA innestato in un pdf. Sto provando a lanciare il seguente comando da prompt di dos:

C:\Windows\System32\curl.exe -v -k https://modipa-val.fse.salute.gov.it/govway/rest/in/FSE/gateway/v1/documents/validation --cert-type P12 --cert A1#111#MEDIAMX2.p12:G1@Nn1 -H "Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsIng1YyI6WyJNSUlGaHpDQ0EyK2dBd0lCQWdJVVhaR1kycE1abnU2c0Y5MlEvYzlObmh1eU00TXdEUVlKS29aSWh2Y05BUUVMQlFBd1Z6RW5NQ1VHQTFVRUF3d2VRMEVnVFdsdWFYTjBaWEp2SUdSbGJHeGhJRk5oYkhWMFpTQlVaWE4wTVI4d0hRWURWUVFLREJaTmFXNXBjM1JsY204Z1pHVnNiR0VnVTJGc2RYUmxNUXN3Q1FZRFZRUUdFd0pKVkRBZUZ3MHlOREEwTVRneE16RXhNRE5hRncweU56QTBNVGt4TXpFeE1ESmFNR2t4Q3pBSkJnTlZCQVlUQWtsVU1SOHdIUVlEVlFRS0RCWk5hVzVwYzNSbGNtOGdaR1ZzYkdFZ1UyRnNkWFJsTVI4d0hRWURWUVJoREJaRFJqcEpWQzFRVWs5V1FWZ3dNRmd3TUZnd01EQlpNUmd3RmdZRFZRUUREQTlCTVNNeE1URWpUVVZFU1VGTldESXdnZ0VpTUEwR0NTcUdTSWIzRFFFQkFRVUFBNElCRHdBd2dnRUtBb0lCQVFDb04wSWtTUG1STGZMdlFpMjVub1FkWCswYlU3MTN4V2NERy95dmhJS0tHb1FUcDRjMDFMYXVDQ3YvVzc4bCtoMURVQjUzakl1a2xvNWlVS3FZNnFIcUEwVFphdGVNeDFOTTBxV3VqMU5LZnNNL1pRaElEb3lmT05SUEZEN3V2S2JTZEZOYXAxSmU5SzQ5K3NCWkVGSVNobWFFaUFVRm9SMVZ3R1gxM1VVenQyU3RLMUtVTTcvYlRqMVdTODJCRTE0a3daTVJOQXd3MVNacHQ1d21jT0szOFlNNmNVWnh6U1UyK2ppck1TaTNIdWdwN01BZ3hUTGVSZzgxZFRVNUlLdTF6cnpHNnRLSHE4Y21vSjY3akdHc1B1V0ZGS1I1b0xJY2pqN2tYeFU2YXhKY2lZcTMwTFlxbnNqbW9rbzdVQlhya2Y0RStneU5iT1VoV1VZa1dHRVJBZ01CQUFHamdnRTNNSUlCTXpBZkJnTlZIU01FR0RBV2dCUVdPYWthQlltM0R5MnlOZTNDQ1pyRkE0TWlQekFTQmdOVkhTQUVDekFKTUFjR0JTdE1IUUVLTUIwR0ExVWRKUVFXTUJRR0NDc0dBUVVGQndNQ0JnZ3JCZ0VGQlFjREFUQ0JyUVlEVlIwZkJJR2xNSUdpTUlHZm9JR2NvSUdaaG9HV2FIUjBjSE02THk5allYTnZaMlZwYzNacGJDNXpiMmRsYVM1cGRDOWxhbUpqWVM5d2RXSnNhV04zWldJdmQyVmlaR2x6ZEM5alpYSjBaR2x6ZEQ5amJXUTlZM0pzSm1semMzVmxjajFEVGlVelJFTkJLMDFwYm1semRHVnlieXRrWld4c1lTdFRZV3gxZEdVclZHVnpkQ1V5UTA4bE0wUk5hVzVwYzNSbGNtOHJaR1ZzYkdFclUyRnNkWFJsSlRKRFF5VXpSRWxVTUIwR0ExVWREZ1FXQkJRMVFrWmVPa1hYNlpFZ2g1NEtiUXhlMnhZVERUQU9CZ05WSFE4QkFmOEVCQU1DQmFBd0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dJQkFJY1JFOWFqRUJSQnprcGFuNDFhOXBZNlFsTW9iUEtXQysyUEgwdEV2YWtZN2NTeEtvZjBnWWhYcEZRdGhHL3lEajM2cG5UQW5FNFZXem5TS0NwcW5WNkc3UHV3WW5tQTRxUXpnWFVzc3hEa0NQdFJmNUI3YmhjNlZsMVJjVHc5UHNTM1F5NVIxOXhHLzMzVjBwajZPOTNDczlBZGhVTXFEclV5QnF1NE12UTBZcU9vNElCVE05SkVvY2l4TXRPM2dXTXkrazJwZXUwRkNGMnBUT2RzZzdjZGhrdENHYktnbktjUUVsdE1RbzY0bEd2N2JlTHY1ZkY3SEdsekNTTTZldVN6SVlPTkE0OXlJMzJ1dDNzbjUwWjVjR0NsNEZna3FHNEZDRzRtRmdlWkx0ZjVQQ0MwS0VyeFRjRWNSWldwQ04vTDJzeDEvdjU2OUJlVFF5RE1jOFFUeUIvN0xLUDlWclYxSEVwYWVFRXd6aVp0d3lJdktkL2JHeXRrSFEvVXdLTW9mVFlLNUczNDRnYnhsdUN1UmtJMlNPekg3OVdvMy9WaEVRREJQdHBScnNVcGpLYVI1Y1FXd1Y0c0FIaE9qTksrVE5iK3BxNEtkUElGTTRFUVU2L3VteldjRzhQOGVFQXJiVkZKdlFIUzJwd3EySWwzb094c2hDaTNjVkkzOUhDcDNZeWR2UzkwQWhqVFgrZU1lSzVqY29NeklwK0xjMjkrSFlVYnk3NDFybXUweDFDbXZ5YlZhYzNBMTBwV0lacldJZGJJcXp2QkZhYjFwaEJZR09tbGZkTWdNWEJlUTB0RVBMckRoYkRXUnpYMWwxZUVBSjkzWi9pNm1BQ3dFTWVkeTMxTkgyTS96d2RzSVMxSUhPWEFlRnJIK1lsNjdzaUdDKzJvVXcwViJdfQ.eyJpc3MiOiJhdXRoOkExIzExMSNNRURJQU1YMiIsImp0aSI6IjEyMzQiLCJhdWQiOiJodHRwczovL21vZGlwYS12YWwuZnNlLnNhbHV0ZS5nb3YuaXQiLCJzdWIiOiJQUlZUTlQ5N1IxNEQ5NjlEXl5eJjIuMTYuODQwLjEuMTEzODgzLjIuOS40LjMuMiZJU08iLCJuYmYiOjE3MTM1MTI2NjAsImV4cCI6MTcxNjEwNDY2MCwiaWF0IjoxNzEzNTEyNjYwfQ.IKD9RRgzNMMrM0Lc8fRKQ8QEhZvXbFYjeL9QZ60ECnfnQkBXAMzifp9kNqMJ7NWnxwTwwAHfKe5_SFMBSyPs1_mjYASeZglz_Oniml_gTmy4-qx-xTx9mxKiKaCTBzkt1whyVTVDt_xf9SXqnigMh0IjR8pVstM1bHInF9_5EAthcbfaBRiT7b1kEcxYI4XzcpsdAw-ITFsXJVeS2axK8UEAYmk7L59SsWN3ru2E7-pNoHXxUvBkNODaBL5NA4QoL-nFV5jhxSxDwMdZm-JBde3sC0TkTVgrXGc7LoGNRtPlknGLlmF-YiQ_jdSz3rB5mQ-o4scgG5pKSzQRqR98qg" -H "FSE-JWT-Signature: eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsIng1YyI6WyJNSUlGYURDQ0ExQ2dBd0lCQWdJVUh6elR5OGp0bFNxdzYvdWZDNFg4S0R1WUNxTXdEUVlKS29aSWh2Y05BUUVMQlFBd1Z6RW5NQ1VHQTFVRUF3d2VRMEVnVFdsdWFYTjBaWEp2SUdSbGJHeGhJRk5oYkhWMFpTQlVaWE4wTVI4d0hRWURWUVFLREJaTmFXNXBjM1JsY204Z1pHVnNiR0VnVTJGc2RYUmxNUXN3Q1FZRFZRUUdFd0pKVkRBZUZ3MHlOREEwTVRneE16RXhNRE5hRncweU56QTBNVGt4TXpFeE1ESmFNR2t4Q3pBSkJnTlZCQVlUQWtsVU1SOHdIUVlEVlFRS0RCWk5hVzVwYzNSbGNtOGdaR1ZzYkdFZ1UyRnNkWFJsTVI4d0hRWURWUVJoREJaRFJqcEpWQzFRVWs5V1FWZ3dNRmd3TUZnd01EQlpNUmd3RmdZRFZRUUREQTlUTVNNeE1URWpUVVZFU1VGTldESXdnZ0VpTUEwR0NTcUdTSWIzRFFFQkFRVUFBNElCRHdBd2dnRUtBb0lCQVFERG5rcjlxbDVNekxaOG1ETEFvYThvYm13UkhCWk9qc0htWGRvSHk2cXZZeVlvbFpXN3pLRkF1aDZJRk1VdC9TRTFXSFlVVXljb3NiN0JDMnZVNmNRb1NIeHhIa2VxeFNUMDNMUnlwaldiMVJZbitabHFKRlN3eEFoOUZ3Q0JzeE1wb1ZQcEVkays4WmpUZ2JQVlplWngySzhadzVxbmdiNjhuMmZGcmlNUEptUzN0MlFYMVZFR0JYd1VML3QybTRhOE1NQ1RSUkM0VGRiRTh1YjJ0WDNqWVdndUtoVjI5WFJLWXB6MlVEbEdsVHdzNEFPLzZjaE1IaHZNV2NLekhjQjZDbkZ6RTdrZ2g1N2JJNFZhTm1VbXYxSUlwWWtXN1J3S3l6QzJ2RzVwK2VOZkJEMnRWLzBKQmMxYUZHZjJ6Rit6dVcyWkNQNGN1b2ZncDFoazJjbVpBZ01CQUFHamdnRVlNSUlCRkRBZkJnTlZIU01FR0RBV2dCUVdPYWthQlltM0R5MnlOZTNDQ1pyRkE0TWlQekFTQmdOVkhTQUVDekFKTUFjR0JTdE1IUUVMTUlHdEJnTlZIUjhFZ2FVd2dhSXdnWitnZ1p5Z2dabUdnWlpvZEhSd2N6b3ZMMk5oYzI5blpXbHpkbWxzTG5OdloyVnBMbWwwTDJWcVltTmhMM0IxWW14cFkzZGxZaTkzWldKa2FYTjBMMk5sY25Sa2FYTjBQMk50WkQxamNtd21hWE56ZFdWeVBVTk9KVE5FUTBFclRXbHVhWE4wWlhKdksyUmxiR3hoSzFOaGJIVjBaU3RVWlhOMEpUSkRUeVV6UkUxcGJtbHpkR1Z5Ynl0a1pXeHNZU3RUWVd4MWRHVWxNa05ESlRORVNWUXdIUVlEVlIwT0JCWUVGSEM5NmRydGVpSlhWUENKS1U0cm9QUGlMdlk0TUE0R0ExVWREd0VCL3dRRUF3SUdRREFOQmdrcWhraUc5dzBCQVFzRkFBT0NBZ0VBamRQeXMwOHRZNnN3THRDTnBIK3RLZ1JMYUx6K0NTYng5RHpFS094aFJWbzZ3Wnc0VEJyZDl5K0NWYTBqY3plcHdsWitQOUVRU1RHbFlxeDc1MUEvaHlPNGl1RUphaWd6SEFzNUZzR25hQUoyc1RqK3FxQ0RyR2FNZVdXT3FuZHhwSXdDOXljemc1eWdQM01pN2ZxTnRJbmF6VzV0Tk1kZmFBU3JZVXhvN25obWVXQ25ibVVxQXBjekFjV0dHdExMQ3IzMFFlbUVkMCtDSlRHQ2RzZTlzY0VXd2JLb2F3Sjk5UXF6emJaZHlad0t1OVh5aXRQY3ZGZk8xTG9vOGlYbUY3L1ZUN3FQem5BVHg0SVVMZnFPeFdBamp4OUpvL0RVL1habVZkeFZtOTNJbklwdkZNbHpaMnRaVEttZ3dOb1VlbStJd1RCcmgweXFleU41am9WMlNWYkU0TEpVT05UTmVuMkxYRkk5S0VGdndsSEZVa3BkY3N4aDBuN2l4c0dBbk81aWIxaWRrWmM2NzRFcXcxUVJ2bFg1MGdXZXJOTURJZlhDM1lKUnVaakp3VjA0L2tLUGsySDR5R2hmRVk0R2xia1FTRUJiTGM2aGhyR1JZVVNVZEhYRW5iMEd0bGF2RS9JUTVvdTNjWWJOV0ZQT2tpeDRzdGtVMW9WRy8vSHZIbkpsdHJkR2RMQWhjaU9XNFVveWFmQkFGeERhZ2JWais1T2tZOUJtdUI5elJEZFdKcEdtWHZXbzQ5b0RmampRa2VLaHRsM0JZOUtoOVoxWXZzR1FpWUNuUEhRQVg2a2xFdFNObmNXZi9sMW5XL21zSUQ4ZmtKOWRpZ2JYVDUzTnR2c0djdlo4aXRnRXMrRHg3Um1UaVErQnFuVlMrTnY0VG1HdU04OHZqeEE9Il19.eyJpc3MiOiJpbnRlZ3JpdHk6UzEjMTExI01FRElBTVgyIiwianRpIjoiMTIzNCIsImF1ZCI6Imh0dHBzOi8vbW9kaXBhLXZhbC5mc2Uuc2FsdXRlLmdvdi5pdCIsInN1YiI6IlBSVlROVDk3UjE0RDk2OUReXl4mMi4xNi44NDAuMS4xMTM4ODMuMi45LjQuMy4yJklTTyIsInN1YmplY3Rfb3JnYW5pemF0aW9uX2lkIjoiMDcwIiwic3ViamVjdF9vcmdhbml6YXRpb24iOiJSZWdpb25lIExpZ3VyaWEiLCJsb2NhbGl0eSI6Imp3dC1sb2NhdGlvbiIsInN1YmplY3Rfcm9sZSI6IkFBUyIsInB1cnBvc2Vfb2ZfdXNlIjoiVFJFQVRNRU5UIiwicGF0aWVudF9jb25zZW50Ijp0cnVlLCJwZXJzb25faWQiOiJTTUJSUFQ0M1I2OVoyNDBQXl5eJmFtcDsyLjE2Ljg0MC4xLjExMzg4My4yLjkuNC4zLjImYW1wO0lTTyIsImFjdGlvbl9pZCI6IlRSRUFUTUVOVCIsInN1YmplY3RfYXBwbGljYXRpb25faWQiOiJMaW5mYSIsInN1YmplY3RfYXBwbGljYXRpb25fdmVuZG9yIjoiTWVkaWFtIFNlcnZpemkgc3JsIiwic3ViamVjdF9hcHBsaWNhdGlvbl92ZXJzaW9uIjoiMS43LjAuMCIsIm5iZiI6MTcxMzUxMjY2MCwiZXhwIjoxNzE2MTA0NjYwLCJpYXQiOjE3MTM1MTI2NjB9.TwfRsnWDQ-Nl7M1ZhOGO_8VXG7313htaadlAbmD7Xcw5KFYG1TiXtZJ5kvRU8BtisXOpJu1sYJtmAEdsudtZbK88YV-xrZDxL44ZxK_XUViozfl69krqIlmAqpJvX4ZwwHSR34v1n4Hd4KNBJ8_MeQysi0e6O5IgLDb7bqpr5K6wQYCY30HfmWaVxm0XZBBTD7OtpvcSLjUdOXRiq_8JZA6kfQcc-Y61XNEvuvrKW5_lStowF_DsrZlSiJMp2i-AUUNa7p8SyqMf7aopzOql1uVXLvVt-e9C4FkYlkWxbffGFxMa6nBrMB-Xg-dyGb3Nc4wNEkth3f2jrrj3bYO0iQ" -H "accept: application/json" -H "Content-Type: multipart/form-data" -F "requestBody={"healthDataFormat": "CDA", "mode": "ATTACHMENT", "activity": "VALIDATION"}" -F "file=provaCDA.pdf;type=application/pdf"

Mi viene restituito l'errore: WWW-Authenticate: Bearer realm="FSE-JWT-Signature", error="invalid_token", error_description="Token invalid"

Lo stesso errore mi viene indicato facendo la prova su Postman come da voi indicato qui: https://github.com/ministero-salute/it-fse-support/issues/654#issuecomment-1985853383

Non riesco a capire dove sia l'errore nel Token FSE-JWT-Signature, o provato a leggerlo tramite https://jwt.io/ e mi sembra corretto. Sapreste per favore aiutarmi?

LucaRogledi commented 4 months ago

Buongiorno, Dalle analisi è emerso che i token non sono valorizzati correttamente, riportiamo di seguito i campi che richiedono una correzione:

Bearer

Signature

Segnaliamo inoltre che tramite il tool jwt.io è possibile verificare la validità della firma del token sotto la sezione di inserimento del token "Encoded" e risulta che Bearer e Signature abbiano una firma non valida.

image

In caso di problemi durante il processo di generazione dei token, è disponibile online il tool per la generazione dei token jwt-generator. Restiamo a disposizione per eventuali chiarimenti. Grazie

rondellimediam commented 4 months ago

Buongiorno, ho corretto come richiesto e ora non ho problemi con i token, grazie! Ora viene generato questo errore:

*{"type":"https://govway.org/handling-errors/400/InvalidRequestContent.html","title":"InvalidRequestContent","status":400,"detail":"Request content not conform to API specification: Validation error(s) :\nAn error occurred when getting the body content from type 'multipart/form-data; boundary=------------------------je9vG6GZfYBDWnV9MLUXss'.\ncom.fasterxml.jackson.core.JsonParseException: Unexpected character ('h' (code 104)): was expecting double-quote to start field name\n at [Source: (org.apache.commons.fileupload.MultipartStream$ItemInputStream); line: 1, column: 3] (code: 201)\n","govway_id":"df778fea-fe44-11ee-93a7-005056ae54fa"} Connection #0 to host modipa-val.fse.salute.gov.it left intact**

Ho cercato tra gli issue già gestiti e ho trovato questo: https://github.com/ministero-salute/it-fse-support/issues/708#issuecomment-2037613208 dove viene suggerito di cambiare l'encoding del CDA2 da utf-16 a utf-8. L'ho fatto ma l'errore persiste. Potreste per favore aiutarmi? Allego il file provaCDA.pdf con all'interno il CDA e il comando curl che ho inviato. Grazie! FSE2.zip

LucaRogledi commented 4 months ago

Buon pomeriggio, per risolvere l'errore da lei indicato è necessario valorizzare correttamente la requestBody. Di seguito è riportato quanto ricevuto dal sistema e il formato atteso di una richiesta corretta:

richiesta ricevuta: image

esempio richiesta con formato corretto: image

Pertanto segnaliamo che:

La invitiamo a verificare e correggere quanto riportato ed effettuare una nuova prova. Grazie

rondellimediam commented 4 months ago

Buongiorno e grazie per la risposta. Ho difficoltà a correggere l'errore riguardante la requestbody, perchè mi sembra di strutturarla in maniera corretta. Ho provato a seguire questo suo commento: https://github.com/ministero-salute/it-fse-support/issues/660#issuecomment-1997245792 e nello specifico:

AS-IS: 'accept: application/json' --> TO-BE: 'accept:application\/json' AS-IS: "requestBody={"activity":"VALIDATION", "healthDataFormat": "CDA", "mode": "ATTACHMENT"} --> TO-BE: "requestBody={\"activity\": \"VALIDATION\", \"healthDataFormat\": \"CDA\", \"mode\": \"ATTACHMENT\"}"

ma gli errori persistono. Allego quanto invio. Potrebbe per favore aiutarmi?

LucaRogledi commented 4 months ago

Buongiorno, La invitiamo a rimuovere il file in allegato al messaggio precedente in caso contenga informazioni private come password. Riguardo la chiamata da lei effettuata la invitiamo a verificare ed apportare le seguenti correzioni sui paramteri utilizzati:

AS-IS:

TO-BE:

Restiamo a disposizione per eventuali chiarimenti. Grazie

rondellimediam commented 4 months ago

Buongiorno, ho apportato le correzioni ma mi viene risposto nel seguente modo:

*{"type":"https://govway.org/handling-errors/403/AuthorizationContentDeny.html","title":"AuthorizationContentDeny","status":403,"detail":"Unauthorized request content","govway_id":"a45f8ae9-0090-11ef-9223-005056ae7395"} Connection #0 to host modipa-val.fse.salute.gov.it left intact

Allego il messaggio che invio, troncando i token e cancellando la password. In generale, apici e doppie virgole, sono messi in maniera coretta? Grazie ancora per il supporto! test invio curl.txt

LucaRogledi commented 4 months ago

Buon pomeriggio, confermiamo che la chiamata ora è formata correttamente. Per proseguire con le analisi le chiederemmo gentilmente i token utilizzati per la chaimata. Grazie

rondellimediam commented 4 months ago

Grazie per la pronta risposta! Allego i due token Authorization.txt FSE-JWT-Signature.txt

LucaRogledi commented 4 months ago

Buon pomeriggio, Dalle analisi sui token è emerso quanto riportato di seguito:

Le segnaliamo che in caso di problemi nella generazione dei token è presente online il tool jwt-generator e il tool jwt.io per la verifica dei token generati. La invitiamo ad effettuare una correzione dei token e riprovare la chiamata. Grazie

rondellimediam commented 4 months ago

Buongiorno, ho corretto come suggerito e fatto un check su tutti i valori che invio, come da specifiche. Ovviamente invio dei dati di prova, ma i token risultano formalmente corretti, li ho testati sia con jwt-generator (e ottengo gli stessi che genero io), che verificati con jwt.io. ma ora mi viene restituito un nuovo errore:

*** Recv failure: Connection was reset

Non capisco il perchè di "Bad hostname". Per completezza allego i dati che invio, cancellando la password. Per favore potete indicarmi quale altro errore commetto? Grazie! test invio curl.txt

rondellimediam commented 4 months ago

Buongiorno, mi sono accorto di due errori che commettevo nella creazione del token di firma (campo attachment_hash e locality valorizzati male). Allego i dati che invio. L'errore rimane però quello di cui sopra:

*** Recv failure: Connection was reset

schannel: recv returned CURLE_RECV_ERROR Closing connection schannel: shutting down SSL/TLS connection with modipa-val.fse.salute.gov.it port 443 Send failure: Connection was reset schannel: failed to send close msg: Failed sending data to the peer (bytes written: -1) curl: (56) Recv failure: Connection was reset URL rejected: Bad hostname Closing connection curl: (3) URL rejected: Bad hostname** test invio curl.txt

rondellimediam commented 4 months ago

Buongiorno, scusatemi ma ho un altro dubbio: il valore di x5c per i due token è, secondo specifiche: certificato X.509 utilizzato per la firma del token. \ Valore in formato DER, codificato in base64. Io utilizzo i due certificati .p12, quello di autenticazione e quello di firma rispettivamente. E' corretto? grazie!

LucaRogledi commented 4 months ago

Buon pomerggio, per la generazione dei 2 token Bearer e Signature è necessario utilizzare solamente il certificato di Firma S1#***.p12. Il certificato di Autenticazione A1#*** viene invece utilizzato per la chiamata come correttamente da lei indicato nel comando curl. La invitiamo a verificare e correggere i token utilizzando il certificato di firma S1 e riprovare. Grazie

rondellimediam commented 4 months ago

Buon pomeriggio, grazie per la risposta! Ho corretto e ora mi sembra che i token siano corretti. Tuttavia ora mi viene restituito questo errore:

{"traceID":"7c28ee1a3b8f1131","spanID":"7c28ee1a3b8f1131","type":"/msg/cda-element","title":"Errore in fase di estrazione del CDA.","detail":"Error while extracting CDA from PDF document","status":400,"instance":"/cda-extraction","workflowInstanceId":"UNKNOWN_WORKFLOW_ID"}curl: (3) URL rejected: Bad hostname

Allego i dati che invio e il file provaCDA.pdf che contiene il CDA.xml. Sottolineo che l'iniezione del CDA avviene all'interno del mio codice .net e non attraverso il tool messo a disposizione. Mi sembra comunque corretta, perchè risulta allegato e scaricabile. Grazie, come sempre, per l'aiuto!

provaCDA.pdf test invio curl.txt

LucaRogledi commented 4 months ago

Buonasera, Confermiamo che ora la chiamata e i token sono corretti. Dalle analisi effettuate è emerso che l'errore ricevuto è causato dal file pdf utilizzato. Iniettando lo stesso CDA in un nuovo pdf utilizzando il tool pdf-generator non abbiamo riscontrato anomalie. La preghiamo di riprovare rigenerando il pdf. Nel caso non lo stesse già usando, le suggeriamo di utilizzare il tool pdf-generator disponibile al link: https://github.com/ministero-salute/it-fse-gtw-tools/tree/main/pdf-generator Restiamo in attesa di un suo gentile riscontro.

rondellimediam commented 4 months ago

Buongiorno, la ringrazio per la risposta. Proverò a usare il pdf-generator, ma avrei bisogno di sapere se ci sono specifiche particolari per la generazione del pdf e dell'innesto del CDA, perchè entrambe le cose dovrò poi farle attraverso il codice .net di un nostro applicativo. Grazie!

rondellimediam commented 4 months ago

Buongiorno, ho provato a generare nuovamente il pdf e il cda. Mi viene restituito il seguente errore:

**{"traceID":"0e2ef118f41cb804","spanID":"0e2ef118f41cb804","type":"/msg/jwt-validation","title":"Campo token JWT non valido.","detail":"JWT payload: Tipologia documento diversa dalla tipologia di CDA (code - codesystem)","status":403,"instance":"/jwt-document-type","workflowInstanceId":"2.16.840.1.113883.2.9.2.70.4.4.5d77e12777c4b7f0ece43b07a33404678f43a9168b60f41b53154a1c3e981005.ccda848dec^^^^urn:ihe:iti:xdw:2013:workflowInstanceId"}***

Allego il file pdf con il cda e i dati che invio tramite curl. Mi chiedo se l'errore non si riferisca al campo "resource_hl7_type" che io compilo nel seguente modo :"11488-4^^2.16.840.1.113883.6.1" (come riportato anche nel CDA). Potreste per favore aiutarmi?

provaCDA.pdf test invio curl.txt

LucaRogledi commented 4 months ago

Buongiorno, dalle analisi è emerso che l'errore da lei riportato è generato dalla valorizzazione del campo "resource_hl7_type" all'interno dei token. La invitiamo ad effettuare la seguente correzione e riprovare:

AS-IS: "resource_hl7_type": "11488-4^^2.16.840.1.113883.6.1", TO-BE: "resource_hl7_type": "('11488-4^^2.16.840.1.113883.6.1')",

Restiamo a disposizione per eventuali chiarimenti. Grazie

rondellimediam commented 4 months ago

Buongiorno, grazie per la correzione. Mi ha permesso di ricevere il dettaglio degli errori presenti nel CDA. Li ho corretti tutti, eccetto questo:

{"traceID":"b08c670db0752169","spanID":"b08c670db0752169","type":"/msg/syntax","title":"Errore di sintassi.","detail":"ERROR: -1,-1 cvc-complex-type.2.4.d: Invalid content was found starting with element 'id'. No child element is expected at this point.","status":400,"instance":"/validation/error","workflowInstanceId":"2.16.840.1.113883.2.9.2.70.4.4.5d77e12777c4b7f0ece43b07a33404678f43a9168b60f41b53154a1c3e981005.ab2c846d80^^^^urn:ihe:iti:xdw:2013:workflowInstanceId"}

Non riesco a capire a quale "id" si riferisca. Allego il pdf con il cda e anche i dati inviati tramite curl. Può per favore verificare l'errore?

provaCDA.pdf test invio curl.txt

LucaRogledi commented 4 months ago

Buon pomeriggio, L'errore riportato è generato dalla presenza di codice duplicato da linea 90 a linea 95 comprese del cda estratto dal pdf da lei allegato. La invitiamo a riprovare rimuovendo il codice duplicato e verificando i nuovi errori in validazione.

image

Per la corretta compilazione del cda la invitiamo a consultare il documento HL7-RSA e il cda di esempio per la tipologia documentale RSA disponibile online al seguente link: RSA. Restaimo a disposizione per eventuali chiarimenti. Grazie

rondellimediam commented 4 months ago

Grazie per la risposta. Ho corretto ed ora ottengo questa risposta:

**{"traceID":"b7e81420a7b1ce90","spanID":"b7e81420a7b1ce90","workflowInstanceId":"2.16.840.1.113883.2.9.2.70.4.4.5d77e12777c4b7f0ece43b07a33404678f43a9168b60f41b53154a1c3e981005.92e3d0cfd1^^^^urn:ihe:iti:xdw:2013:workflowInstanceId"}

Connection #0 to host modipa-val.fse.salute.gov.it left intact

secondo i dati nel json la risposta dovrebbe essere positiva, senza errori. ma allora non capisco la parte finale del messaggio "* URL rejected: Bad hostname

Per completezza allego il pdf con il cda e i dati inviati

Può dirmi per favore se la validazione questa volta ha avuto successo?

provaCDA.pdf test invio curl.txt

LucaRogledi commented 4 months ago

Buonasera, confermiamo che la chiamata di validazione viene effettuata correttamente. La parte finale del messaggio ricevuto in risposta, contenente l'errore curl: (3) URL rejected: Bad hostname**", non è relativa all'esito della chiamata di validazione avvenuta con successo. Dalle analisi sulla chiamata da lei effettuata, tale errore può essere dovuto alla sintassi della chiamata tramite linea di comando curl e può essere risolto con le seguenti modifiche:

AS-IS:

TO-BE:

rondellimediam commented 4 months ago

Grazie mille per l'aiuto!

LucaRogledi commented 4 months ago

Salve, grazie per il feedback, la presente viene chiusa come risolta. Si può procedere con la riapertura nel caso fosse necessario ulteriore supporto. Grazie

rondellimediam commented 4 months ago

Buongiorno, riapro il ticket per una domanda: mi sono accorto che spesso (non riesco a tracciare una casistica) ho bisogno di inviare uno stesso messaggio due volte. La prima volta mi viene risposto nel seguente modo:

**Recv failure: Connection was reset

mentre la seconda volta la validazione va a buon fine. Sapreste per favore dirmi il perchè? Allego il testo che invio, ma non credo sia un problema del messaggio perchè al secondo tentativo va poi tutto ok.

test invio curl.txt

LucaRogledi commented 4 months ago

Buon pomeriggio, confermiamo che la chiamata è corretta e i servizi risultano funzionare correttamente, l'errore da lei riportato potrebbe essere dovuto ad un problema di rete. La invitiamo ad pertanto a verificare che la rete che sta utilizzando stia funzionando correttamente senza restrizioni e provando eventualmente con un'altra connessione per verificare se il problema persiste. Restiamo a disposizione per eventuali chiarimenti, Grazie

rondellimediam commented 4 months ago

Buongiorno, ho provato con tre connessioni diverse, ma il risultato è sempre lo stesso: la risposta affermativa arriva sempre al secondo tentativo. Mi chiedo se sia successo anche a qualche altro sviluppatore. Sono il primo a segnalarvi questo problema? Grazie

LucaRogledi commented 4 months ago

Buongiorno, I sistemi risultano funzionare correttamente. Non avendo la possibilità di replicare l'errore che le si presenta alla prima connessione, la invitiamo a scrivere un post sul canale Slack dedicato per avere il supporto da altri sviluppatori che potrebbero aver incontrato la stessa problematica. Procediamo alla chiusura della seguente issue, ma rimaniamo a disposizione per ulteriori richieste si supporto. Grazie.