|
| Iniciado por Jack, 11,mar. 2019 11:59 - 2 respuestas |
| |
| | | |
|
| |
Miembro registrado 55 mensajes |
|
| Publicado el 11,marzo 2019 - 11:59 |
Bonjour Je reformule ma demande, peut-être pas assez claire. Je coince sur la récupération d'enregistrements multiples via un webservices.
J'ai crée (en test pour le moment) un webservices en Windev23, e il est publié sur un serveur DINAO. Aucun soucis pour faire du httpost, le boitier IoT envoi bien ses données toutes les 30 secondes et des enregistrements sont bien crées dans la table.
Par contre, lorsque je veux récupérer tous les enregistrements via httpget via Windev24, j'obtiens X fois (x= nombre de record ex si j'ai 30 enregistrements je vais avoir 30 fois la même ligne dans mon tableau) le même enregistrement, il faut que je relance la procédure de lecture pour obtenir l'enregistrement suivant (et encore 30 lignes identiques). J'espère avoir été clair !
Voici mon code Windev23 (via l'assistant car les process POST et GET sont ultra basiques pas de traitement) et la méthode GET en WinDev24 pour récupérer les data Encore merci Cdlt Cyril
MDataTrucks est une Classe <MAPPING=DataTrucks>
<MAPPING> m_nIDDataTrucks est un entier sur 8 octets <MAPPING=IDDataTrucks, clé unique , Sérialise=Faux> m_sImmat est une chaîne ANSI <MAPPING=Immat , Sérialise="Immat"> m_rLatitude est un réel sur 4 octets <MAPPING=Latitude , Sérialise="Latitude"> m_rLongitude est un réel sur 4 octets <MAPPING=Longitude , Sérialise="Longitude"> m_rVitesse est un réel sur 4 octets <MAPPING=vitesse , Sérialise="vitesse"> m_dDateRecord est une Date <MAPPING=dateRecord , Sérialise="dateRecord"> m_hHeureRecord est une Heure <MAPPING=HeureRecord , Sérialise="HeureRecord"> <FIN>
FIN
Procedure PUBLIQUE GLOBALE LectureTous() : chaîne ANSI
SI Authentification() = Faux ALORS RENVOYER "" FIN
tabDataTrucks est un tableau de MDataTrucks POUR TOUT MonFichierMappé clDataTrucks est un MDataTrucks clDataTrucks.FichierVersMemoire()
tabDataTrucks.Ajoute(clDataTrucks) FIN
sContenuEnregistrementEnJSON est une chaîne ANSI Sérialise(tabDataTrucks, sContenuEnregistrementEnJSON, psdJSON)
RENVOYER sContenuEnregistrementEnJSON
DataGPS est une structure nIDGPS est un entier sur 8 octets immat est une chaîne latitude est un réel longitude est un réel vitesse est un réel dateGPS est une Date heureGPS est une Heure FIN tabListeTrajet est un tableau de DataGPS
DemandeListeTrajet est un restRequête RecupListeTrajet est un restRéponse
DemandeListeTrajet.URL="www.URLSITE.COM/TrackingsTruckTous" DemandeListeTrajet.Méthode=httpGet DemandeListeTrajet.Utilisateur="XXXXX" DemandeListeTrajet.MotDePasse="YYYY"
RecupListeTrajet=RESTEnvoie(DemandeListeTrajet) Désérialise(tabListeTrajet,RecupListeTrajet.Contenu,psdJSON) TableAffiche(TABLE_TabListeTrajet,taInit)
|
| |
| |
| | | |
|
| | |
| |
Miembro registrado 1.002 mensajes |
|
| Publicado el 11,marzo 2019 - 12:08 |
Bonjour,
Je pense que ton probleme vient de ta ligne
clDataTrucks.FichierVersMemoire()
Dans la doc : Remarque : La fonction FichierVersMémoire n'effectue aucune lecture du fichier de données. C'est la valeur de l'enregistrement chargé en mémoire qui est utilisée pour initialiser les valeurs des membres. Il faut donc qu'un enregistrement soit au préalable chargé en mémoire (fonctions HLit, HLitRecherche, HLitPremier, ...).
Essaye de charger ta variable manuellement au lieu d'utiliser la fonction FichierVersMemoire
jordan |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 55 mensajes |
|
| Publicado el 11,marzo 2019 - 13:18 |
Bonjour Jordan Merci de ta réponse, je vais tester cela je te tiendrai informé Excellente journée Cdlt Cyril |
| |
| |
| | | |
|
| | | | |
| | |
|