Encore j'apprends angular2. J'essaie d'apprendre comment envoyer une requête SOAP à un service web, avec un WSDL. Je cherchais des exemples et j'en ai trouvé un. J'ai créé un bouton et j'ai voulu appeler cette fonction de savon pour envoyer la demande au serveur sur un clic. Le projet est construit avec succès mais la fonction ne fonctionne pas.SOAP - Demande WSDL angular2/4 framework
app.component.ts
import { Component } from '@angular/core';
import { Http, Response, RequestOptions, Headers} from '@angular/http';
import 'rxjs/add/operator/map';
declare var angular: any;
@Component({
selector: 'app-root',
templateUrl: './app.component.html'
})
export class AppComponent {
soapCall() {
angular.module('myApp', ['angularSoap']);
var xmlhttp = new XMLHttpRequest();
// xmlhttp.open('POST', 'http://localhost/webservices/voltage-info-service/wsdl/sgcc3.wsdl', true);
xmlhttp.open('POST', 'http://localhost/webservices/voltage-info-service/server/server.php', true);
//var input_element = <HTMLInputElement> document.getElementById("choosenNumber");
//console.log("chVal : " + this.chVal);
//this.choosenNumberValue = this.chVal;
//the following variable contains my xml soap request (that you can get thanks to SoapUI for example)
var sr = 'YEAH';
// '<?xml version="1.0" encoding="utf-8"?><lfc:requests><lfc:request><lfc:busID>66</lfc:busID><lfc:timestamp>223456789</lfc:timestamp><lfc:coordinates>'+
// '<lfc:LongD>8</lfc:LongD><lfc:LongM>6</lfc:LongM><lfc:LongS>25.599</lfc:LongS><lfc:LatD>51</lfc:LatD><lfc:LatM>33</lfc:LatM><lfc:LatS>23.9898</lfc:LatS>'+
// '</lfc:coordinates></lfc:request></lfc:requests>';
xmlhttp.onreadystatechange =() => {
if (xmlhttp.readyState == 4) {
if (xmlhttp.status == 200) {
var xml = xmlhttp.responseXML;
// this.response_number = parseInt(xml.getElementsByTagName("return")[0].childNodes[0].nodeValue); //Here I'm getting the value contained by the <return> node
console.log('Work!!'); //I'm printing my result square number
}
}
}
// Send the POST request
xmlhttp.setRequestHeader('Content-Type', 'text/xml');
xmlhttp.responseType = "document";
xmlhttp.send(sr);
}
}
app.component.html
<u1>
<u1>
<input type="button" value="SOAP request" ng-click="soapCall()">
</li>
</ul>
https://scotch.io/tutorials/angular-2-http-requests-with-observables –
@SachilaRanawaka Je ne pouvais pas comprendre le tutoriel que vous avez donné .. , son chemin à loin de mon niveau –