PC SOFT

FOROS PROFESIONALES
WINDEVWEBDEV y WINDEV Mobile

Inicio → WINDEV 2025 → HTTPJauge Envoi  HTTPRequête
HTTPJauge Envoi HTTPRequête
Iniciado por Nicolas ROBIN, 01,jun. 2020 11:39 - 1 respuesta
Miembro registrado
87 mensajes
Publicado el 01,junio 2020 - 11:39
Bonjour,

Je souhaite envoyer des flux qui peuvent être conséquents sur un WebService et j'aurais aimer afficher l'avancée de cet envoi dans une jauge mais n'arrive pas à l'afficher.

Connaissez-vous les prérequis pour utiliser HTTPJauge correctement avec HTTPRequête?

Dans mon cas, pour mes tests, j'ai une fenêtre "Table_FACTURE_CHORUS" et j'ai créé 2 jauges, une pour la réception, une pour l'envoi pour tester le fonctionnement de HTTPJauge sachant que HTTPRequête qui suit est fonctionnel.
bufJson_ENTREE contient mon flux JSON à transmettre.

HTTPJauge("Table_FACTURE_CHORUS.JAUGE_TEST_RECEPTION",10000,"Table_FACTURE_CHORUS.JAUGE_TEST_ENVOI",10000)
bResultat_Requete_OK=HTTPRequête(sURL,"",sHeaderAuth,bufJson_ENTREE,sTypeContenu)


Avec ce code, je n'ai pas d'évolution des jauges durant tout le temps d'exécution de HTTPRequête.

Dans l'aide, je n'ai pas l'impression que le cas de "Content-Length" pour l'envoi soit évoqué.

Dois-je l'intégrer dans le flux?
Si oui, où exactement dans le JSON et comment déterminer cette taille?
Dois-je me baser uniquement sur la taille des fichiers intégrés dedans où puis-je déterminer une taille globale du flux?



Cordialement

--

NR
Miembro registrado
87 mensajes
Publicado el 01,junio 2020 - 12:21
Comme vous pouvez le constater, j'ai essayé d'ajouter la taille du JSON dans le HEADER (avant mon HTTPRequete), mais ça ne semble pas fonctionner pour autant...

bufJson_ENTREE=VariantVersJSON(stTypeService.ENTREE.Donnees_JSON)

//On définit la taille du JSON dans l'entête afin de faire fonctionner le HTTPJauge
nTailleBuffer est un entier =Taille(bufJson_ENTREE)
sAuth_Taille est une chaîne =ChaîneVersUTF8(ChaîneConstruit("Content-Length: %1",nTailleBuffer))
sHeaderAuth =sAuth_CPRO_ACCOUNT+RC+sAuth_TOKEN+RC+sAuth_Taille

HTTPJauge("Table_FACTURE_CHORUS.JAUGE_TEST_RECEPTION",10000,"Table_FACTURE_CHORUS.JAUGE_TEST_ENVOI",10000)
bResultat_Requete_OK=HTTPRequête(sURL,"",sHeaderAuth,bufJson_ENTREE,sTypeContenu)


Pour info, dans cet exemple, nTailleBuffer=7554253.

Si cela vous donne une piste, je suis preneur.
Merci

--

NR