PC SOFT

PROFESSIONAL NEWSGROUPS
WINDEVWEBDEV and WINDEV Mobile

Home → WINDEV Mobile 2024 → Problème appel Webservice après mise à jour WDM23 vers WDM26
Problème appel Webservice après mise à jour WDM23 vers WDM26
Started by Tan Trung, Jul., 02 2021 11:40 AM - 11 replies
Registered member
104 messages
Popularité : +1 (1 vote)
Posted on July, 02 2021 - 11:40 AM
Bonjour,

Je viens de passer en WDM26 et certains appels au webservice SOAP ne fonctionne plus sauf avec l'émulateur (qui ne reflète pas la réalité sur un vrai appareil Android). Quelqu'un a-t-il déjà eu le même problème que moi ? Y-a-il de différences pour les appels au webservice entre WDM23 et WDM26 ?

Toute aide sera le bienvenu

--
NGUYEN Tan Trung
B. Rekencentra NV
Registered member
104 messages
Popularité : +1 (1 vote)
Posted on July, 05 2021 - 11:24 AM
Il semble que l'appel au webservice ajoute dans WD26 Expect: 100-continue. Comment peut-on désactiver cette option ?

--
NGUYEN Tan Trung
B. Rekencentra NV
Registered member
133 messages
Popularité : +3 (3 votes)
Posted on July, 07 2021 - 11:29 AM
j'ai eu un soucis aussi en passant de 23 a 25 pour mes webservice. Il s'avere que maintenant, sous android, il faut obligatoirement passer par du HTTPS, le http n'est plus autoriser. Moi, ca m'avais bloquer le temps de comprendre.
Registered member
104 messages
Popularité : +1 (1 vote)
Posted on July, 07 2021 - 3:48 PM
Ca fonction en http mais le problème vient de la sérialisation, WD26 ajoute des balises vides ce qui posent problème côté serveur. C'est une cata car on est obligé de modifier côté serveur pour accepter les m*rd*s générés par WD26

--
NGUYEN Tan Trung
B. Rekencentra NV
Posted on July, 07 2021 - 4:18 PM
Au passage sous WM26 il est obligatoire de passer le type de requête...

Sous WM25 la requête par défaut était une requête Post.

Il faut maintenant le préciser avec la commande suivante :

Requête..Méthode = httpPost
Registered member
1,110 messages
Popularité : +8 (8 votes)
Posted on July, 22 2021 - 1:59 PM
Cezame a écrit :
Au passage sous WM26 il est obligatoire de passer le type de requête...

Sous WM25 la requête par défaut était une requête Post.

Il faut maintenant le préciser avec la commande suivante :

Requête..Méthode = httpPost

On parle de SOAP ou REST ?

Je crois que HLM à tout Vrai concernant le HTTPS.

--
Jean Turcotte
WX 26
Android 9.0 sur Galaxy S8
Laptop Lenovo I7 12GB Ram
Posted on July, 22 2021 - 4:58 PM
Pour moi ça fonctionne en HTTP, il m'a juste fallu ajouter la commande Requête..Méthode = httpPost pour mes requêtes rest.
Registered member
5 messages
Posted on March, 14 2022 - 7:43 PM
Tan Trung wrote:
Il semble que l'appel au webservice ajoute dans WD26 Expect: 100-continue. Comment peut-on désactiver cette option ?

--
NGUYEN Tan Trung
B. Rekencentra NV


Bonjour,
Je suis en version WD Mobile 27 et je rencontre pratiquement le problème, quand ma requête http dépasse les 1Ko j'ai la balise Expect: 100-continue qui se rajouter dans l'entête et le contenu de ma variable httpRequête n'est pas envoyé. Je passe bien par du HTTPS, comment avez-vous régler ce soucis ?
Registered member
384 messages
Popularité : +13 (13 votes)
Posted on March, 15 2022 - 11:49 AM
Bonjour,

L'entête Expect est "normale", il indique que le client web (WM ici) demande au serveur Web s'il peut envoyer la totalité des données (ce que le serveur peut refuser en fonction des limites spécifiées comme la taille maximale des fichiers uploadés, etc).

Le serveur web est justement sensé répondre un code HTTP "100 Continue", et le client web envoie alors la requête cette fois-ci avec le contenu.

En général c'est donc le serveur web (IIS, Apache, etc) qui répond au client avant même que ça ne "touche" au webservice. Si ce n'est pas le cas, il faudrait vérifier pourquoi.
Registered member
5 messages
Posted on March, 15 2022 - 1:50 PM
Merci pour votre réponse,
Le serveur web tourne sous Apache, et si je comprend bien vos explications il semble qu'il ne gère pas l'entête Expect, je vais faire mes recherches. Savez-vous si c'est une option à activer dans apache ou alors peut-on désactiver l'ajout de cette entête par Windev ? vu que le serveur web ne semble gérer cette option.
Registered member
384 messages
Popularité : +13 (13 votes)
Posted on March, 15 2022 - 2:45 PM
A vrai dire, tout dépend de la version d'Apache utilisée. Mais on trouve des mentions à l'entête Expect depuis au moins la 2.2, donc il ne devrait pas y avoir de soucis.

La version 2.4.52 semble d'ailleurs avoir livré un fix sur les entêtes Expect : https://dlcdn.apache.org/httpd/CHANGES_2.4.52
Si ce n'est pas déjà fait je vous conseillerais de voir si vous pouvez mettre à jour votre version d'Apache.

Enfin, si tout ça ne marche toujours pas, l'entête Expect est une spécification du protocole HTTP 1.1. Si vous repassez votre requête en HTTP 1.0 (via l'attribut "VersionHTTP" sur votre variable de type restRequête, vous devriez esquiver le problème entièrement.
Registered member
5 messages
Posted on March, 15 2022 - 3:32 PM
Mes recherches m'ont menées aux mêmes conclusions, le serveur apache est en version 2.4.48, je verrai si la nouvelle version de l'outil qui le déploie utilise une version récente d'apache. En attendant je vous confirme qu'en passant ma requête par le protocole http 1.0 que cela fonctionne.
Merci encore pour vos réponse.