PC SOFT

FOROS PROFESIONALES
WINDEVWEBDEV y WINDEV Mobile

Inicio → WINDEV Mobile 2024 → Soucis Webservice SOAP suite mise à jour WM 27 > WM 28
Soucis Webservice SOAP suite mise à jour WM 27 > WM 28
Iniciado por erbl, 27,mar. 2023 16:29 - 9 respuestas
Miembro registrado
201 mensajes
Popularité : +6 (10 votes)
Publicado el 27,marzo 2023 - 16:29
Bonjour tout le monde

Dans le cadre d'une application Android, je consomme un webservice SOAP développé en PHP par mes soins
Tout fonctionnait très bien puis je suis passé sur Windev Mobile 28 et deux appels ne passent plus
J'ai une erreur : "format JSON Invalide" que je ne m'explique pas.

--
Ce n'est pas l'outil le plus important mais la manière de s'en servir
Miembro registrado
964 mensajes
Popularité : +16 (20 votes)
Publicado el 28,marzo 2023 - 08:27
Je vais enfoncer une porte ouverte : le JSON retourné est-il valide ?
Testes le dans https://jsonformatter.curiousconcept.com/

--
Pascal Boulesteix
Applications Visiolittoral et WNat
Miembro registrado
473 mensajes
Popularité : +20 (20 votes)
Publicado el 28,marzo 2023 - 09:38
ce qui m'etonne c'est le format json, avec soap on est en xml
Miembro registrado
201 mensajes
Popularité : +6 (10 votes)
Publicado el 28,marzo 2023 - 10:07
@pascal j'ai rien du tout dans le retour du webservice à priori donc impossible de tester quoi que ce soit, j'ai juste RIEN

@stef1811 pardon je n'ai pas été assez clair, c'est du soap donc j'ai une enveloppe XML dans laquelle j'ai des données au format JSON
L'erreur n'est pas sur l'appel au webservice mais ensuite, lorsque je fais un JSONVersVariant sur le retour du webservice

sReponseJson est une chaîne = monWebService.maMethode(param)
gvVariantInterventions est un Variant = JSONVersVariant(sReponseJson)


--
Ce n'est pas l'outil le plus important mais la manière de s'en servir
Miembro registrado
201 mensajes
Popularité : +6 (10 votes)
Publicado el 28,marzo 2023 - 11:37
Je me demande si ce n'est pas lié à ça...





--
Ce n'est pas l'outil le plus important mais la manière de s'en servir
Miembro registrado
201 mensajes
Popularité : +6 (10 votes)
Publicado el 28,marzo 2023 - 12:14
j'ai décoché vérifier les paramètres dans la description du webservice importé = même résultat
j'ai essayé l'utilisation de APRES pour appel asynchrone = erreurs de compilation
J'ai essayé une temporisation (au cas où j'ai pas la réponse du WS tout de suite) via multitâche(-12000) = même résultat

--
Ce n'est pas l'outil le plus important mais la manière de s'en servir
Miembro registrado
385 mensajes
Popularité : +13 (13 votes)
Publicado el 28,marzo 2023 - 15:48
Bonjour,

Avant le passage dans JSONVersVariant(), que contient exactement sReponseJson ?
Miembro registrado
201 mensajes
Popularité : +6 (10 votes)
Publicado el 28,marzo 2023 - 18:22
bchanudet a écrit :
Bonjour,

Avant le passage dans JSONVersVariant(), que contient exactement sReponseJson ?

Bonjour

ça ne contenait rien / je n'arrivais pas à l'afficher
après test supplémentaires, il semblerait que ça soit un soucis de timeout , d'après la documentation le timeout par défaut est de 200s, si ça suffisait sur WINDEV Mobile 27 à priori ce n'est plus le cas sous la version 28
j'ai rajouté le bout de code suivant et ça fonctionne à nouveau :
ancienTimeout est un entier = HTTPTimeOut()
dureeTimeout est une Durée
dureeTimeout.Minute = 1
HTTPTimeOut(dureeTimeout)
sReponseJson est une chaîne = monWebService.maMethode(param)
HTTPTimeOut(ancienTimeout)


--
Ce n'est pas l'outil le plus important mais la manière de s'en servir
Miembro registrado
473 mensajes
Popularité : +20 (20 votes)
Publicado el 29,marzo 2023 - 12:13
Tu dis que le timeout par défaut de 200s ne suffisait pas et tu le passe a 1 minute pour cela fonctionne, je ne comprend pas
Miembro registrado
201 mensajes
Popularité : +6 (10 votes)
Publicado el 31,marzo 2023 - 09:35
stef1811 a écrit :
> Tu dis que le timeout par défaut de 200s ne suffisait pas et tu le passe a 1 minute pour cela fonctionne, je ne comprend pas
C'est exactement ça
En passant le timeout à 1 minute = ça fonctionne à nouveau, je ne comprends pas non plus pourquoi, est ce parce que l'application générée par Windev Mobile 28 est - rapide à l'execution que l'application générée par Windev Mobile 27? Mystère et boule de gomme
Au moins, ça fonctionne, c'est tout ce qui compte pour moi

--
Ce n'est pas l'outil le plus important mais la manière de s'en servir