Salut,
Je souhaite via une requête HTTP (méthode POST), récupérer sous format XML un ensemble de données depuis un site. Le site en question m'a confirmé que je pouvais utiliser du VBScript pour recevoir les données et ma donné comme exemple le code suivant (qui forcément n'est pas en VBS, mais en PHP).
j'ai fais ce code VBS
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48 <?php //permet d'afficher le document en XML header('Content-type: text/xml; charset=UTF-8'); //remplacer VOTRE_TOKEN par votre token define('TOKEN', 'VOTRE_TOKEN'); //call à appeler, ici GetOrders define('CALL', 'GetOrders'); //Indifférement Sandbox ou Production define('MODE', 'Sandbox'); //Pas besoin de xml pour GetOrder $xml = ''; echo callWS($xml); function callWS($xml){ //url du web service $service_url = 'https://.../webservice/'; //encapsule les données dans un tableau $curl_post_data = array( 'TOKEN' => TOKEN, 'CALL' => CALL, 'MODE'=> MODE, 'REQUEST' => $xml ); $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, $service_url); curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false); curl_setopt($curl, CURLOPT_HEADER, false); curl_setopt($curl, CURLOPT_POST, true); curl_setopt($curl, CURLOPT_POSTFIELDS, $curl_post_data); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); $curl_response = curl_exec($curl); curl_close($curl); //XML à parser return $curl_response; } ?>
mais la réponse du serveur est le suivant
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 Option Explicit 'Déclaration des variables Dim oXMLHTTP Dim StrTOKEN, StrCALL, StrMODE, StrREQUEST, strEnvelope, StrURL 'Initialisation des données pour la requête StrURL = "https://.../webservice/" StrTOKEN = "abcdef0123456789abcdef123456789abcdef123" 'fictif pour l'exemple StrCALL = "GetOrders" StrMODE = "Sandbox" StrREQUEST = "" strEnvelope = "Token=" & StrTOKEN & "&Call=" & StrCALL & "&Mode=" & StrMODE & "&Request=" & StrREQUEST 'Objet XMLHTTP Set oXMLHTTP = CreateObject("MSXML2.XMLHTTP.3.0") With oXMLHTTP .open "POST", StrURL , False .setRequestHeader "Content-type: text/xml; charset=UTF-8","application/x-www-form-urlencoded" .send strEnvelope wScript.Echo .responseText .abort End with
Si quelqu'un aurait une idée sur où je bug ?
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 <Result> <Request> <Date>2012-08-08T17:20:00+02:00</Date> <Call/> <Token/> <Mode/> </Request> <Response> <Error> <Type>Parametres</Type> <Message>Token manquant</Message> </Error> </Response> </Result>
merci par avance
Partager