Bonjour à tous,
Je travaille actuellement sur la récupération de données via un WebService, mais n'ayant quasiment aucune expérience avec SOAP, je galère un peu.
Ci-dessous, le code initial de connexion utilisé et qui fonctionne sur une interface C-Sharp.
J'ai mis ##### pour garder les infos confidentielles.
Ci-dessous, le code que j'utilise en Windev mais pour lequel j'obtiens un message d'erreur sur la ligne "Info(SOAPDonneRésultat(SOAPRésultat))" --> Résultat vide.
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 ACCES WEBSERVICE C-SHARP : <soapenv:Envelope xmlns:soapenv="http://#####/soap/envelope/" xmlns:tem="http://tempuri.org/" xmlns:ess="http://#####/2004/07/ESS_EI_Service"> <soapenv:Header/> <soapenv:Body> <tem:GetExternalIncassoFiles> <!--Optional:--> <tem:_request> <!--Optional:--> <ess:Password>#####</ess:Password> <!--Optional:--> <ess:UserName>#####</ess:UserName> </tem:_request> </tem:GetExternalIncassoFiles> </soapenv:Body> </soapenv:Envelope>
J'ai utilisé deux méthodes possibles :
METHODE 1 :
----
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 messagexml est une chaîne resexecution est un booléen messagexml = [ <soapenv:envelope xmlns:soapenv="http://######/soap/envelope/" xmlns:tem="http://tempuri.org/" xmlns:ess="http://#####/2004/07/ess_ei_service"> <soapenv:header/> <soapenv:body> <tem:GetExternalIncassoFiles> <!--optional:--> <tem:_request> <!--optional:--> <ess:password>#####</ess:password> <!--optional:--> <ess:username>######</ess:username> </tem:_request> </tem:GetExternalIncassoFiles> </soapenv:body> </soapenv:envelope> ] resexecution = SOAPExécuteXML("https://#####:7081/extincasso/eiservice.svc?singlewsdl", messagexml) SI resexecution = Vrai ALORS Info(SOAPDonneRésultat(SOAPRésultatXML)) --> VIDE !!! SINON Erreur(ErreurInfo(errComplet)) FIN
METHODE 2 - WebService importé dans Windev :
Je précise que j'ai bien testé le WebService sous SoapUI 5.0, et cela fonctionne parfaitement.
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 v_paiements est un GetExternalIncassoPayments v_paiements_reponse est un GetExternalIncassoPaymentsResponse v_paiements._request.UserName = "#####" v_paiements._request.Password = "#####" v1 est un GetExternalIncassoFiles v2 est un GetExternalIncassoFilesResponse v1._request.UserName = "#####" v1._request.Password = "#####" v2 = GetExternalIncassoFiles(v1) Trace(v2.GetExternalIncassoFilesResult) --> TRACE VIDE !!!!
Est-ce que quelqu'un pourrait me donner quelques conseils ?
Partager