---
title: "Servizi web REST per la mappatura dei dati"
date: "2016-02-24"
categories: 
  - "data-integration"
  - "json"
  - "tools"
tags: 
  - "data-mapping"
  - "gps-apps"
  - "mapforce"
  - "rest-web-services"
  - "xmlspy"
description: Scoprite come MapForce 2016 migliora i servizi web REST per la mappatura dei dati, consentendo l'integrazione fluida di risposte XML e JSON nei vostri progetti.
---
Status: #blog

Tags:  #data-mapping #gps-apps #mapforce #rest-web-services #xmlspy

Categories: [data-integration](/blog/it/category/data-integration.md) | [json](/blog/it/category/json.md) | [xml](/blog/it/category/xml.md)
# Servizi web REST per la mappatura dei dati

La versione 2016, release 2 di MapForce, include funzionalità potenziate per [Mappatura dei dati dei servizi web](https://www.altova.com/it/mapforce.html#data_integration), offrendo un supporto completo per i servizi web REST. MapForce accetta XML o JSON come risposta del servizio web, consente la definizione di parametri e supporta intestazioni HTTP personalizzate. Gli utenti possono definire l'interfaccia del servizio web manualmente o importando le impostazioni da un file WADL o da un URL. La definizione manuale delle impostazioni del servizio web REST consente agli sviluppatori di creare impostazioni basate su un URL di esempio. Questo è un passaggio utile quando gli sviluppatori testano e perfezionano le chiamate REST in una finestra del browser, poiché l'URL può essere copiato dal browser e utilizzato come modello.

![I servizi web REST possono costituire un flusso di informazioni per un progetto di mappatura dei dati](/blog/images/shutterstock_88166515.jpg)

<!--more-->

Abbiamo già sottolineato in precedenza che le coordinate rilevate dai sistemi GPS sono precise, ma [I dati relativi all'altitudine sono notoriamente poco accurati](https://www.altova.com/blog/rest-services-as-data-sources-for-mobile-apps/). L'USGS fornisce un servizio web REST che accetta richieste contenenti longitudine e latitudine e fornisce dati di altitudine accurati, sia in formato XML che JSON. Possiamo utilizzare questo servizio web in una mappatura dati MapForce per aggiornare i dati GPS provenienti da un dispositivo Garmin e, contemporaneamente, convertire il formato dei dati da XML a JSON.

Inizieremo testando il servizio web in una finestra del browser. L'URL indicato di seguito apre un modulo di input per generare una query di esempio:

![Modulo di input per una singola richiesta di dati altimetrici](/blog/images/PointQueryInputCapture_clip.png)

Quando clicchiamo sul pulsante "Ottieni altitudine", il modulo genera una query REST GET completa, la invia e visualizza il risultato sottostante. Possiamo utilizzare questo risultato per modellare la risposta che otterremo durante la mappatura dei nostri dati.

![Risultato della query puntuale in formato JSON](/blog/images/PointQueryResultCapture.png)

Aggiungeremo il servizio web alla nostra mappatura facendo clic sul pulsante "Inserisci funzione del servizio web" nella barra degli strumenti di MapForce. Questo aprirà la finestra di dialogo "Impostazioni chiamata del servizio web", dove potremo inserire l'URL del servizio USGS.

![Parte della finestra di dialogo dei servizi web REST di MapForce, utilizzata per specificare l'URL del servizio](/blog/images/drop-in-service-def-from-dialog.png)

Successivamente, è necessario definire i parametri della richiesta e il corpo della risposta, che costituiranno gli elementi necessari per la mappatura, come si può vedere nella sezione successiva della finestra di dialogo "Impostazioni chiamata".

![Parte della finestra di dialogo dei servizi web REST di MapForce, utilizzata per definire le strutture di richiesta e risposta](/blog/images/ws-response-structure.png)

Abbiamo generato facilmente uno schema JSON in XMLSpy per definire la risposta, basandoci sul file JSON di esempio salvato dalla finestra del browser. Di seguito è riportata la visualizzazione dello schema XMLSpy della risposta convertita:

![Visualizzazione dello schema JSON per la risposta alla query, utilizzando XMLSpy](/blog/images/json_query_result_Capture_alt.png)

Il modulo di input del servizio di rilevamento altimetrico dell'USGS ci ha fornito tutte le informazioni necessarie per definire i parametri di input, quindi possiamo aggiungere queste informazioni alla sezione successiva della finestra di dialogo "Impostazioni chiamata":

![Parte della finestra di dialogo dei servizi web REST di MapForce per specificare i parametri di input della query](/blog/images/input-parameters.png)

Le unità di misura e i valori di output per ogni richiesta non cambieranno durante l'esecuzione, e avremmo potuto specificare valori fissi. Invece, li forniremo nella mappatura come costanti. Qualsiasi impostazione di sicurezza necessaria sarà configurata anche nella finestra di dialogo "Impostazioni chiamata". Quando clicchiamo su "OK" per chiudere la finestra di dialogo, la funzione del servizio web viene aggiunta alla mappatura.

![L'interrogazione dell'altitudine fornita dall'USGS, implementata come una funzione all'interno della progettazione della mappatura dei dati in MapForce](/blog/images/bare-WS-in-mapping-Capture.png)

Ogni punto di traccia presente nel file GPX di origine fornirà un insieme di coordinate. Durante l'esecuzione della mappatura, una richiesta GET ai servizi web interrogherà il USGS ogni volta che un punto di traccia viene elaborato, e la risposta fornirà i dati di altitudine sostitutivi.

Ora, dobbiamo semplicemente collegare gli elementi della richiesta e della risposta ai componenti di input e output, come illustrato di seguito. Le costanti relative alle unità di misura e al tipo di output sono visibili in alto a sinistra, e il valore dell'altitudine viene arrotondato a due cifre decimali prima di essere inserito nell'output.

![La funzione di interrogazione dell'altitudine del USGS, integrata nella progettazione di mappatura dati di MapForce, con input e output collegati](/blog/images/Mapped_ws_Capture.png)

Si noti che l'output è un file JSON. Il componente di input non è visualizzato in questa vista parziale della mappatura, ma si tratta di un file GPX standard in formato XML. Le linee di connessione della mappatura dei dati che entrano da sinistra, che passano dietro la funzione del servizio web nell'illustrazione e che si collegano al componente di output, rappresentano tutti valori che verranno copiati integralmente, senza modifiche, dal file XML di input agli elementi JSON corrispondenti.

Quando si preme il pulsante "Output di MapForce", la mappatura viene eseguita e viene generato un file JSON, come si può vedere nella vista parziale qui mostrata:

![Anteprima parziale dell'output della mappatura dei dati generato da MapForce, sotto forma di file JSON](/blog/images/json_output_Capture.png)

In un ambiente di produzione, potremmo salvare la mappatura come un file di esecuzione MapForce, per consentirne l'elaborazione automatica da parte del server MapForce, sia da riga di comando che sotto il controllo del server FlowForce.

[Altova MapForce](https://www.altova.com/it/mapforce.html) è uno strumento grafico di mappatura, conversione e integrazione dei dati, premiato, che consente di mappare dati tra qualsiasi combinazione di XML, database, EDI, XBRL, file di testo, Excel, JSON e/o servizi web. [Scaricate una versione di prova gratuita e completamente funzionante e provatelo di persona!](https://www.altova.com/it/download-trial.html)
