L'appel d'un web service retourne une chaine vide

romulus001 12 Messages postés dimanche 2 mars 2014Date d'inscription 15 septembre 2017 Dernière intervention - 15 sept. 2017 à 17:30
Bonjour à vous tous,

Je développe une application web à l'aide de Ionic et je rencontre des soucis pour consommer un web service en local sur ma machine, ce web service possède une wsdl.

Voici ce que j'ai fait :
function soapRequest(){
let jeton='contenu de ma clé token qui fait 500 caractères';
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());
}


Auriez-vous une idée de résolution?

Merci
Afficher la suite