PC SOFT

FOROS PROFESIONALES
WINDEVWEBDEV y WINDEV Mobile

Inicio → WINDEV 2025 → webservice rest en patch avec json
webservice rest en patch avec json
Iniciado por ylmeti, 13,feb. 2019 15:32 - 1 respuesta
Miembro registrado
9 mensajes
Publicado el 13,febrero 2019 - 15:32
Bonjour,

Je cherche à consommer un webservice qui accepte la méthode patch, pour cela, j'ai copié le fonctionnement trouvé sur l'aide et dans divers sujets du forum :
MaReqPatch est une restRequête
ClientJSON est un Variant

MaReqPatch.URL = WSAdresseClient + CodeClient
MaReqPatch.Méthode = httpPatch
MaReqPatch..ContentType = "application/json"
ClientJSON.id_ext_client = "1901000024"
ClientJSON.pdv_creation = "000001"
ClientJSON.profil_comptable[1].cheque_accepte = Vrai
MaReqPatch..Contenu = VariantVersJSON(ClientJSON)

MaReponseREST = RESTEnvoie(MaReqPatch)


En retour, j'ai une erreur "Code etat = 400 le client est attendu au format json en tant que content de la requete"
Ce que je ne comprends pas, c'est que l'hébergeur du webservice reçoit un contenu vide alors que juste avant le restenvoie j'ai bien quelquechose dedans :

{ "id_ext_client":"1901000024", "pdv_creation":"000001", "profil_comptable":[ { "cheque_accepte":true } ] }

Par ailleurs, si j'utilise Postman en y collant la chaine que je passe dans le contenu, le webservice est consommé sans problème et la maj se fait correctement.
Je rajoute que si j'utilise une méthode post à la place, je peux bien créer un client avec le contenu passé.

Quelqu'un saurait me dire où je me plante? Merci.
Mensaje modificado, 13,febrero 2019 - 15:35
Miembro registrado
9 mensajes
Publicado el 26,febrero 2019 - 16:46
J'ai un début de piste :
l'envoi est mis avec transfer-encoding à chunked
Il semblerait que le serveur récupère une partie du contenu mais zappe la suite de ce fait et du coup la chaine est invalide.

Quelqu'un saurait comment désactiver le transfer-encoding avec un restrequete en attendant de savoir si le serveur peut être rendu compatible avec un tel envoi?

Merci d'avance.