Servizi web dei municipi di Roma capitale

I servizi web (o web services) messi a disposizione da municipiroma.it, possono essere inclusi in un qualsiasi software o sito web scritto in un qualsiasi linguaggio.
Il servizio utilizza le API di google maps per fornire dati sempre aggiornati.
Le richieste vengono effettuate tramite protocollo SOAP per mantenere la compatibilità con tutti i sistemi. I dati vengono restituiti sempre tramite lo stesso protocollo, il tutto su comunicazione protetta https.

In questo modo è possibile avere sul proprio programma i dettagli degli indirizzi (cap, città, regione, municipi di Roma capitale, ASL vecchi municipi e vecchie ASL), semplicemente attraverso il nome di una via.

Per poter usufruire del servizio è necessario inviare una mail all'indirizzo info@municipiroma.it dove sarà necessario comunicare il nome dell'azienda e vi verrà fornito il nome utente per poter effettuare le richieste.

Si ricorda che il servizio web dei municipi di Roma capitale è in fase sperimentale e potrebbero verificarsi delle anomalie.
Per qualsiasi problema vi preghiamo di contattarci per permetterci di risolverlo nel modo più celere possibile.

Il processo per la richiesta dei dati prevede una richiesta di login che restituirà un identificativo
La seconda richiesta dei dettagli dell'indirizzo dovrà essere effettuata tramite l'id fornito dalla prima e l'indirizzo da ricercare.

Il link ai servizi web è il seguente Servizi web Municipi Roma capitale
Di seguito vi mostriamo un esempio di codice in Vb .net e c# da includere sul vostro software o sito web per la ricerca.

VB .NET
' ----------------------------------------------------------------------------------------------
' LOGIN
' ----------------------------------------------------------------------------------------------
Dim xmlRequest = "<?xml version='1.0' encoding='utf-8' ?>" & _
"<soap:Envelope xmlns:xsi='http//www.w3.org/2001/XMLSchema-instance' xmlns:xsd='http://www.w3.org/2001/XMLSchema' xmlns:soap='http://schemas.xmlsoap.org/soap/envelope/'>" & _
"<soap:Body>" & _
"<Login xmlns='http://microsoft.com/webservices/'>" & _
"<userId>NOME UTENTE</userId>" & _
"</Login>" & _
"</soap:Body>" & _
"</soap:Envelope>" & _

SOAPReqBody.LoadXml(xmlRequest)
request.ContentType = "text/xml; charset=utf-8"

Dim st As Stream = request.GetRequestStream()
SOAPReqBody.Save(st)

Dim Serviceres As WebResponse = request.GetResponse()
Dim rd As StreamReader = New StreamReader(Serviceres.GetResponseStream())
Dim ServiceResult = rd.ReadToEnd()
' ----------------------------------------------------------------------------------------------

'----------------------------------------------------------------------------------------------
' DETTAGLI INDIRIZZO
'----------------------------------------------------------------------------------------------
xmlRequest = "<?xml version='1.0' encoding='utf-8' ?>" & _
"<soap:Envelope xmlns:xsi='http//www.w3.org/2001/XMLSchema-instance' xmlns:xsd='http://www.w3.org/2001/XMLSchema' xmlns:soap='http://schemas.xmlsoap.org/soap/envelope/'>" & _
"<soap:Body>" & _
"<getStreetDetails xmlns="http://microsoft.com/webservices/">" & _
"<id>ID RESPONSE LOGIN</id>" & _
"<street>INDIRIZZO</street>" & _
"</getStreetDetails>" & _
"</soap:Body>" & _
"</soap:Envelope>" & _

SOAPReqBody.LoadXml(xmlRequest)
request.ContentType = "text/xml; charset=utf-8"

st = request.GetRequestStream()
SOAPReqBody.Save(st)

Serviceres = request.GetResponse()
rd = New StreamReader(Serviceres.GetResponseStream())
ServiceResult = rd.ReadToEnd()
'----------------------------------------------------------------------------------------------
Public Function CreateSOAPWebRequest() As HttpWebRequest
   Req As HttpWebRequest = CType(WebRequest.Create("https://www.municipiroma.it/municipi_roma.asmx"), HttpWebRequest)
   Req.Headers.Add("SOAPAction:http://tempuri.org/Login")
   Req.ContentType = "text/xml;charset=""utf-8"""
   Req.Accept = "text/xml"
   Req.Method = "POST"
   Return Req
End Function

C#
' ----------------------------------------------------------------------------------------------
' LOGIN
' ----------------------------------------------------------------------------------------------
var xmlRequest = "<?xml version='1.0' encoding='utf-8' ?>" +
"<soap:Envelope xmlns:xsi='http//www.w3.org/2001/XMLSchema-instance' xmlns:xsd='http://www.w3.org/2001/XMLSchema' xmlns:soap='http://schemas.xmlsoap.org/soap/envelope/'>" +
"<soap:Body>" +
"<Login xmlns='http://microsoft.com/webservices/'>" +
"<userId>USER ID</userId>" +
"</Login>" +
"</soap:Body>" +
"</soap:Envelope>" +

SOAPReqBody.LoadXml(xmlRequest);
request.ContentType = "text/xml; charset=utf-8";

Stream st = request.GetRequestStream();
SOAPReqBody.Save(st);

WebResponse Serviceres = request.GetResponse();
StreamReader rd = new StreamReader(Serviceres.GetResponseStream());
var ServiceResult = rd.ReadToEnd();

' ----------------------------------------------------------------------------------------------

' ----------------------------------------------------------------------------------------------
' DETTAGLI INDIRIZZO
' ----------------------------------------------------------------------------------------------
var xmlRequest = "<?xml version='1.0' encoding='utf-8' ?>" +
"<soap:Envelope xmlns:xsi='http//www.w3.org/2001/XMLSchema-instance' xmlns:xsd='http://www.w3.org/2001/XMLSchema' xmlns:soap='http://schemas.xmlsoap.org/soap/envelope/'>" +
"<soap:Body>" +
"<getStreetDetails xmlns="http://microsoft.com/webservices/">" +
"<id>ID RESPONSE LOGIN</id>" +
"<street>INDIRIZZO</street>" +
"</getStreetDetails>" +
"</soap:Body>" +
"</soap:Envelope>" +

SOAPReqBody.LoadXml(xmlRequest);
request.ContentType = "text/xml; charset=utf-8";

Stream st = request.GetRequestStream();
SOAPReqBody.Save(st);

WebResponse Serviceres = request.GetResponse();
StreamReader rd = new StreamReader(Serviceres.GetResponseStream());
var ServiceResult = rd.ReadToEnd();

' ----------------------------------------------------------------------------------------------

public HttpWebRequest CreateSOAPWebRequest()
{
   HttpWebRequest Req = (HttpWebRequest)WebRequest.Create("https://www.municipiroma.it/municipi_roma.asmx");
   Req.Headers.Add("SOAPAction:http://tempuri.org/Login");
   Req.ContentType = "text/xml;charset=\"utf-8\"";
   Req.Accept = "text/xml";
   Req.Method = "POST";
   return Req;
}

Non si offre alcuna assicurazione sulla modalità di utilizzo di questo codice e non si può garantirne qualità, sicurezza e compatibilità con i sistemi in uso.