Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    Connesione a webservice XML-RPC

    Devo connettermi ad un webservice XML-RPC (quello di muovi.roma.it) per utilizzare le loro API.
    Sto cercando di capire ... ma sono in un "pantano"

    In Asp Classic è possibile farlo?
    Viene dato un esempio di connessione in Python ... che per me è arabo.
    Vi allego lo scripo
    codice:
    try:
      # Python 2 import
      from xmlrpclib import Server
    except ImportError:
      # Python 3 import
      from xmlrpc.client import Server
    
    from pprint import pprint
    
    DEV_KEY = 'Inserisci qui la tua chiave'
    
    s1 = Server('http://muovi.roma.it/ws/xml/autenticazione/1')
    s2 = Server('http://muovi.roma.it/ws/xml/paline/7')
    
    token = s1.autenticazione.Accedi(DEV_KEY, '')
    
    res = s2.paline.Previsioni(token, '70101', 'it')
    pprint(res)
    In questa pagina ci sono dei riferimenti che per me sono insufficienti:
    https://romamobilita.it/it/azienda/o.../api-real-time


    Esiste la remota possibilità di convertirlo il ASP?

    Grazie.
    Io nella vita ho visto cose che voi astemi neanche potete immaginare.

  2. #2
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    esempio:
    codice:
        Set oXmlHTTP = CreateObject("MSXML2.ServerXMLHTTP")
        oXmlHTTP.Open "POST", "http://www.sito.it/servizio/1", False 
            oXmlHTTP.setRequestHeader "Content-Type", "text/xml; charset=utf-8" 
    
        ' lettura file richiesta
        Set filesys = Server.CreateObject("Scripting.FileSystemObject")
        Set filetxt = filesys.OpenTextFile(server.mappath("/")&"\public\domande\nomeFile.xml", 1, True) 
        SOAPRequest = filetxt.ReadAll
        filetxt.Close
        set filetxt = Nothing
        set filesys = Nothing
        
        ' invio richiesta e ricezione esito
        oXmlHTTP.send SOAPRequest  
        esito = oXmlHTTP.responseText    
        Response.Write esito
    ps: in questo che uso non e' prevista autenticazione separata, le credenziali sono inserite nel file della richiesta, dovresti cercare la documentazione relativa sul sito MSDN
    Ultima modifica di br1; 28-07-2017 a 10:13
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  3. #3
    Prima di tutto Grazie per la risposta.

    Per quanto riguarda l'autenticazione
    Il sito Muovi.Roma cita i parametri da passare in modo get; questi sono
    chiave_sviluppatore (obbligatorio)
    id_utente. (vuoto se non usato)

    Visto che in entrambe i nomi è stato usato "under score" deduco che siano i nomi dei parametri attesi.

    Quindi:
    codice:
       MyKey="1234567890"
        Set oXmlHTTP = CreateObject("MSXML2.ServerXMLHTTP")
        oXmlHTTP.Open "GET", "http://www.sito.it/servizio/1/?chiav...ey&"&id_utente=", False 
            oXmlHTTP.setRequestHeader "Content-Type", "text/xml; charset=utf-8" 
    
        ' lettura file richiesta
        Set filesys = Server.CreateObject("Scripting.FileSystemObject")
        Set filetxt = filesys.OpenTextFile(server.mappath("/")&"\public\domande\nomeFile.xml", 1, True) 
        SOAPRequest = filetxt.ReadAll
        filetxt.Close
        set filetxt = Nothing
        set filesys = Nothing
        
        ' invio richiesta e ricezione esito
        oXmlHTTP.send SOAPRequest  
        esito = oXmlHTTP.responseText    
        Response.Write esito
    Correggimi se ho scritto male qualcosa.
    Ancora non ho provato.

    Devo togliere "filetxt"
    Ultima modifica di SoloWiFi; 28-07-2017 a 10:38
    Io nella vita ho visto cose che voi astemi neanche potete immaginare.

  4. #4
    Ho fatto un passo avanti ma ancora non funziona.

    Ho aggiunto una stringa XML (provato anche con un file XML) con le credenziali da inviare
    Ora ho una risposta dal server, questa:
    codice:
    faultCode 1  faultString <class 'xmlrpclib.ResponseError'>:ResponseError()

    Qui di seguito c'è il sorgente della chiamata.

    codice:
    Link="http://muovi.roma.it/ws/xml/autenticazione/1"
    MyKey="1234567890"
    UsrId=""
    xmlReq = "<?xml version=""1.0""?><methodCall><chiave_sviluppatore>"&MyKey&"</chiave_sviluppatore><id_utente>"&UsrId&"</id_utente></methodCall>"
    Set oXmlHTTP = CreateObject("MSXML2.ServerXMLHTTP")    
    oXmlHTTP.Open "POST", Link, False         
    oXmlHTTP.setRequestHeader "Content-Type", "text/xml; charset=utf-8" 
        
    ' lettura file richiesta      
    'Set filesys = Server.CreateObject("Scripting.FileSystemObject")    
    'Set filetxt = filesys.OpenTextFile(server.mappath("\mobile\atac\Test.xml"), 1, True)     
    'SOAPRequest = filetxt.ReadAll    
    SOAPRequest = xmlReq 
    'filetxt.Close    
    'set filetxt = Nothing    
    'set filesys = Nothing   
             
    ' invio richiesta e ricezione esito    
    oXmlHTTP.send SOAPRequest      
    esito = oXmlHTTP.responseText        
    Response.Write esito
    %>
    Ora un dubbio nasce spontaneo:
    La parte XML è scritta correttamente? I nodi sono giusti?
    Io nella vita ho visto cose che voi astemi neanche potete immaginare.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.