Bonjour,
Je dois faire un traitement sur X3 en V6 qui appelle un webservices externe en utilisant la méthode POST. Pour ce faire, j’ai installé le composant Java Bridge Server qui contient un composant client HTTP.
Dans mon traitement, j'instancie le client HTTP via le code ci-dessous :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 local Char WJBRESULT(250) WJBRESULT = "com.sage.x3.runtime.bundle.httpclient.CServiceHttpClientImpl:newHttpClient" Local Char WHTTPCLI(30) WHTTPCLI = Funciu = WJBRESULT Using [YJBS] With ()
Si je fais un test sur une méthode GET, elle fonctionne parfaitement. Je récupère bien la valeur "MyTest" retournée par le serveur
Par contre, je ne parviens à écrire un traitement en utilisant une méthode POST. Je ne sais pas comment définir les paramètres WPARAM2 + WPARAM3 + WPARAM4 nécessaires aux instructions ci-dessous :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 Local Char WURL (250) WURL = "http://xxx:20000/tests/MyTest" WJBRESULT = WHTTPCLI+":get" WHTTPREPLY = Funciu = WJBRESULT Using [YJBS] With (WURL) #WHTTPREPLY contient en retour "MyTest"
Tous mes essais me renvoient systématiquement soit la valeur « {} », soit le code retour 400 (bad resquest), soit le code retour 415 (Unsupported Media Type).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 Local Char WURL (250) WURL = "http://xxx:20000/tests" WJBRESULT = WHTTPCLI+":post" WHTTPREPLY = Funciu = WJBRESULT Using [YJBS] With (WURL, WPARAM2, WPARAM3, WPARAM4)
Est-ce que quelqu'un aurait des exemples de traitements V6 permettant d'appeler une méthode POST . Je précise bien V6 car je sais qu'à partir de la V7, il existe des traitements dans Syracuse qui s'occupent de ça.
Merci pour votre aide.
ManuM21
Partager