Bonsoir,
Je débute dans la programmation sous Angular 2 à l'aide de Ionic, je dois faire appel à un web service qui se trouve en local sur ma machine, je voulais savoir si en TypeScript, il est possible de consommer un web service définit à l'aide de sa wsdl, et si oui, comment.
J'avais voulu faire le test à l'aide de l'exemple présent ici mais vu que ce n'est pas du json, je ne trouve pas de piste.
Dans mon cas, le lien vers la wsdl se trouve à l'adresse suivante :
http://win-9u040a2kpbv:83/adelerh/se...Authentication
Je dois faire appel à la fonction LocalServiceLoginToken, elle a un unique paramètre de type chaine, le nom de ce paramètre est token, en sortie, j'obtiens une chaine, le nom du paramètre de sortie est sessionId.
Merci
EDIT : J'ai mis le code suivant :
Puis, quand je fais appel à Autentication_get_sessionId, j'ai un message vide qui s'affiche.
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 function soapRequest(){ let jeton='contenu de ma clé token'; let return_value= '<?xml version="1.0" encoding="UTF-8"?>'+ '<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">'+ '<SOAP-ENV:Header/>'+ '<SOAP-ENV:Body>'+ '<ns1:LocalServiceLoginToken xmlns:ns1="http://www.sage.com/fr/line1000/Sage1000Authentication">'+ '<ns1:token>'+jeton+'</ns1:token>'+ '</ns1:LocalServiceLoginToken>'+ '</SOAP-ENV:Body>'+ '</SOAP-ENV:Envelope>'; return return_value; } function readBody(xhr) { let data; if (!xhr.responseType || xhr.responseType === "text") { data = xhr.responseText; } else if (xhr.responseType === "document") { data = xhr.responseXML; } else { //data = xhr.response; data = xhr.responseText; } return data; } function Autentication_get_sessionId() { //ne sachant pas laquelle des 2 adresses est la bonne, je les met dans 2 variables différents et j'échange les numéros dans mes tests let url_autentication2='http://win-9u040a2kpbv:83/adelerh/server/soap.l1000?wsdl=Sage1000Authentication'; let url_autentication1='http://win-9u040a2kpbv:83/adelerh/server/soap.l1000'; let xmlhttp = new XMLHttpRequest(); xmlhttp.open('POST', url_autentication1, true); xmlhttp.onreadystatechange = function () { if (xmlhttp.readyState == 4) { alert(readBody(xmlhttp)); } } // Send the POST request xmlhttp.setRequestHeader('Content-Type', 'text/xml'); xmlhttp.send(soapRequest()); }
Partager