6-diciembre-2013
admin

Consumir un Web Service con Ajax

Cómo ejemplo utilizaré un servicio soap que tengo creado con NUSOAP. http://genparte.disastercode.com.es/ws/servicioWsdl.php?wsdl

Se hace una petición al método getCalendarFestive del ws. A este método se le debe pasar un parámetro de entrada strName.

Tras hacer la petición, si todo va bien se ejecutará el evento success donde rellenamos un array con la información obtenida.

var soapMessage =
	'< soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">'+
		'< soap:Body>'+
			'< getCalendarFestive xmlns="http://genparte.disastercode.com.es">'+
				'< strName>.....< /strName>'+
			'< /getCalendarFestive>'+
		'< /soap:Body>'+
	'< /soap:Envelope>';

$.ajax({
	url: 'http://genparte.disastercode.com.es/ws/servicioWsdl.php?wsdl', 
	type: "POST",
	dataType: "xml", 
	contentType: "text/xml",
	data: soapMessage, 
	success: function(data, status, req, xml, xmlHttpRequest, responseXML) {
		$(req.responseXML).find('return').each(function(){
		
			if( $(this).find('type')){
				var total = $(this).find("type").length;
				var days = new Array();
				for(i= 0; i < total; i++)  {
					var strType = $(this).find("type")[i].childNodes[0].nodeValue;
					var strDate = $(this).find("date")[i].childNodes[0].nodeValue;
					days[i] = strDate;
				}
			}
		});
	}, 
	error: function processError(data, status, req) {
		console.log(data);
		console.log(status);
		console.log(req);
	}
});

Comentarios cerrados.

Categorias

Linkedin