{"id":274,"date":"2021-03-04T15:22:15","date_gmt":"2021-03-04T14:22:15","guid":{"rendered":"http:\/\/159.213.227.18\/wordpress\/?page_id=274"},"modified":"2023-12-20T15:20:59","modified_gmt":"2023-12-20T14:20:59","slug":"integrazione-degli-applicativi","status":"publish","type":"page","link":"http:\/\/159.213.227.18\/wordpress\/it\/integrazione-degli-applicativi\/","title":{"rendered":"Integrazione degli applicativi"},"content":{"rendered":"\n
Gli API Gateway del CART espongono le stesse interfacce applicative native dei servizi, cos\u00ec come definite dalle interfacce applicative, espresse in linguaggio WSDL nel caso di API SOAP e OpenAPI nel caso di API REST. Pertanto gli applicativi continuano ad operare sostanzialmente come se stessero interagendo direttamente con l\u2019applicativo che implementa l\u2019API, a meno della URL invocata dai client, che diventa quella del Gateway, anzich\u00e9 quella del servizio finale.<\/p>\n\n\n\n
Ci sono tuttavia alcune informazioni aggiuntive che \u00e8 utile che il Gateway possa trasmettere agli applicativi con cui interagisce, sia ai client che invocano le API che alle implementazioni delle API a cui vengono girate le richieste applicative.<\/p>\n\n\n\n
Nel caso degli applicativi server, i Gateway del CART, per ogni richiesta gestita, introducono i seguenti header HTTP nella richiesta HTTP girata alla implementazione della API:<\/p>\n\n\n\n
Nel caso la richiesta sia di tipo OAuth, all\u2019implementazione della API potr\u00e0 essere fornito il token originale, e\/o i seguenti header CART aggiuntivi contenenti le informazioni presenti nel token.<\/p>\n\n\n\n Nel caso degli applicativi client, i Gateway CART, per ogni richiesta in arrivo introducono il seguente header HTTP nella risposta restituita al client:<\/p>\n\n\n\n Il Gateway pu\u00f2 inoltre produrre, in caso di anomalie nella gestione della richiesta, due diverse tipologie di errori:<\/p>\n\n\n\n Per ciascun errore il Gateway riporta le seguenti informazioni:<\/p>\n\n\n\n La codifica degli errori prodotta dal CART permette alle applicazioni client di discriminare tra errori causati da una richiesta errata, per i quali \u00e8 quindi necessario intervenire sull\u2019applicazione client prima di effettuare nuovi invii, ed errori dovuti allo stato dei servizi invocati, per i quali \u00e8 invece possibile continuare ad effettuare la richiesta, come dettagliato Nei casi in cui \u00e8 prevista la rispedizione, GovWay genera un header \u201cRetry-After\u201d che indica al client il numero di secondi di attesa prima di ripetere la richiesta. Gli API Gateway del CART espongono le stesse interfacce applicative native dei servizi, cos\u00ec come definite dalle interfacce applicative, espresse in linguaggio WSDL nel caso di API SOAP e OpenAPI nel caso di API REST. Pertanto gli applicativi continuano ad operare sostanzialmente come se stessero interagendo direttamente con l\u2019applicativo che implementa l\u2019API, a meno della […]<\/p>\n","protected":false},"author":1,"featured_media":135,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"page-advanced.php","meta":[],"_links":{"self":[{"href":"http:\/\/159.213.227.18\/wordpress\/wp-json\/wp\/v2\/pages\/274"}],"collection":[{"href":"http:\/\/159.213.227.18\/wordpress\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"http:\/\/159.213.227.18\/wordpress\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"http:\/\/159.213.227.18\/wordpress\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/159.213.227.18\/wordpress\/wp-json\/wp\/v2\/comments?post=274"}],"version-history":[{"count":12,"href":"http:\/\/159.213.227.18\/wordpress\/wp-json\/wp\/v2\/pages\/274\/revisions"}],"predecessor-version":[{"id":459,"href":"http:\/\/159.213.227.18\/wordpress\/wp-json\/wp\/v2\/pages\/274\/revisions\/459"}],"wp:featuredmedia":[{"embeddable":true,"href":"http:\/\/159.213.227.18\/wordpress\/wp-json\/wp\/v2\/media\/135"}],"wp:attachment":[{"href":"http:\/\/159.213.227.18\/wordpress\/wp-json\/wp\/v2\/media?parent=274"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}Header Name<\/th> Header Value<\/th><\/tr><\/thead> X-CART-fiscalNumber
X-CART-name
X-CART-familyName
X-CART-email
X-CART-ivaCode<\/td>informazioni estratte dalla chiamata alla UserInfo, se prevista<\/td><\/tr> X-CART-oauthClientId<\/td> identificativo dell\u2019applicazione client che ha generato il token Oauth<\/td><\/tr> X-CART-username<\/td> contenuto del claim preferred-username<\/td><\/tr> X-CART-scope<\/td> elenco degli scope, separati con una virgola, eventualmente presenti
nel token Oauth<\/td><\/tr>X-CART-roles<\/td> elenco dei ruoli dell\u2019utente, separati da virgola. In questa modalit\u00e0 vengono forniti soltanto i ruoli di un utente e non i relativi attributi<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n Integrazione degli applicativi client<\/h2>\n\n\n\n
nella tabella seguente.<\/p>\n\n\n\nREST \/ SOAP<\/th> GovWay-Transaction-ErrorType<\/th> Retry<\/th><\/tr><\/thead> 400 \/ Client<\/td> Errori 400 (Bad Request)<\/td> No<\/td><\/tr> 401 \/ Client<\/td> Errori 401 (Authentication Error)<\/td> No<\/td><\/tr> 403 \/ Client<\/td> Errori 403 (Authorization Deny)<\/td> No<\/td><\/tr> 404 \/ Client<\/td> Errori 404 (NotFound)<\/td> No<\/td><\/tr> 409 \/ Client<\/td> Errori 409 (Conflict)<\/td> No<\/td><\/tr> 429 \/ Client<\/td> LimitExceeded – Errori 429 (Rate Limiting)<\/td> No<\/td><\/tr> 429 \/ Client<\/td> TooManyRequests – Errori 429 (Rate
Limiting)<\/td>S\u00ec<\/td><\/tr> 502 \/ Server<\/td> Errori 502 (Bad Gateway) <\/td> S\u00ec
se idempotente<\/td><\/tr>503 \/ Server<\/td> Errori 503 (Service Unavailable)<\/td> S\u00ec<\/td><\/tr> 504 \/ Server<\/td> Errori 504 (Endpoint Request Timed-out)<\/td> S\u00ec
se idempotente<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n
<\/p>\n","protected":false},"excerpt":{"rendered":"