Bonjour,
J'apprends (niveau zéro) à utiliser un Web Services. Nous avons un progiciel qui utilise des Web Services pour des ajouts/modifications de données.
Si, en exploitation nous utiliserons BizTalk, aussi bien pour des tests unitaires que pour des opérations ponctuelles, je compte utiliser VbScript que je maîtrise bien mais également qui est très rapide à mettre en œuvre pour du "one shoot".
J'ai écris 2 programmes : Lecture et Écriture.
Lecture me permet de voir si le Web Services est actif. Il fonctionne parfaitement bien.
Par contre, pour Écriture, si le pg "fonctionne" apparemment bien, en réalité, pas du tout : j'essaye d'aller écrire des données via le Web Services.
Dans un premier temps, les données sont "fausses" et ont pour but, non seulement de vérifier que le pg "fonctionne" bien mais surtout pour recevoir tous les codes retour que j'aurai à gérer dans le futur. Or, quoi que j'envoie, le Web Services me renvoie un 200 au lieu d'un 201 et/ou un 204.
Hypothèses :
- Je n'ai rien compris au code que j'ai glané ici et là (il y a beaucoup de vrai, même si je comprends la logique)
- Le Web Services fonctionne mal
- Le Web Services fonctionne bien, mais mon interprétation est mauvaise (et donc ... ?)
- ...
Bref, je patauge et j'aimerai avoir vos avis.
Grand merci d'avance.
Cordialement.
Gilles Cartairade
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 MsgBox "Lecture" Dim strURL, http, doc ' Dim http As MSXML2.ServerXMLHTTP60 'ServerXMLHTTP60 ou (old) ServerXMLHTTP ' Dim doc As MSXML2.DOMDocument ' URL du flux à lire 'https://solfi-test.age.dompap.net/ ' strURL = "https://solfi-test.age.dompap.net/api/ImportStandard/ImportStandardTIT" ' strURL = "https://solfi-test.age.dompap.net/api/ImportStandard/GAPAIE" strURL = "https://solfi-test.age.dompap.net/api/ImportStandard/OD" ' Lecture du flux Set http = CreateObject("MSXML2.XMLHTTP") http.Open "GET", strURL, False http.send "" ' En cas de réussite, le code renvoyé est 200 If (http.status = 200) Then MsgBox "OK" Set doc = http.responseXML MsgBox doc.XML ' Debug.Print doc.XML Else MsgBox "Retour Code Erreur : " & http.status & " - " & http.statusText, vbExclamation End If ' On libère les objets Set doc = Nothing Set http = Nothing
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 MsgBox "Ecriture" Dim strURL, sEnvlength, http,doc, maj Set http = CreateObject("MSXML2.XMLHTTP") strURL = "https://solfi-test.age.dompap.net/api/ImportStandard/OD" ' maj = "{""estModifiable"":""true"",""etablissement"":""GPMD"",""exercice"":""2017"",""monnaie"":""EUR"",""pieces"":[{""Description"":""00006348"",""Journal"":""OD"",""Objet"":""00006348"",""lignesODCompta"":[{""Compte"":""4231000"",""MontantCredit"":0,""MontantDebit"":1,""NatureAuxiliaire"":""Fournisseur"",""referenceExterne"":"""",""tiersCode"":""099990""},{""Compte"":""5122400"",""MontantCredit"":0,""MontantDebit"":0,""referenceExterne"":""""},{""Compte"":""4231000"",""MontantCredit"":0,""MontantDebit"":3,""NatureAuxiliaire"":""Fournisseur"",""referenceExterne"":"""",""tiersCode"":""099990""},{""Compte"":""5122400"",""MontantCredit"":0,""MontantDebit"":0,""referenceExterne"":""""},{""Compte"":""4231000"",""MontantCredit"":0,""MontantDebit"":3,""NatureAuxiliaire"":""Fournisseur"",""referenceExterne"":"""",""tiersCode"":""099990""},{""Compte"":""5122400"",""MontantCredit"":0,""MontantDebit"":0,""referenceExterne"":""""}],""numeroPiece"":"""",""referenceExterne"":""00006348""}]}" maj = "coucou" sEnvlength = Len(maj) ' GET : Insert POST : Update http.Open "POST", strURL, False http.setRequestHeader "Content-Type", "text/xml; charset=utf-8" http.setRequestHeader "Content-Length", sEnvlength http.send (maj) If (http.status = 200) Then MsgBox "OK" Set doc = http.responseXML MsgBox doc.XML Else MsgBox "Retour Code Erreur : " & http.status & " - " & http.statusText, vbExclamation End If Set doc = Nothing Set http = Nothing
Partager