Tengo un problema y es que estoy intentado acceder del lado del cliente a los servicios de Sharepoint 2010 y lo estoy haciendo usando Javascript Soap 1.1 pero al depurar en la consola me da como error que el servidor no admite conexiones cruzadas. El Script implementado es el siguiente:
Código Javascript:
Ver original
$(document).ready(function () { $("#btnCallWebService").click(function (event) { var loginUrl = "http://[Dominio]/_vti_bin/authentication.asmx?op=Login"; var soapRequest = '<?xml version="1.0" encoding="utf-8"?> \ <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> \ <Login xmlns="http://schemas.microsoft.com/sharepoint/soap/"> \ <username>Usiario</username> \ <password>Contraseña</password> \ </Login> \ </soap:Body> \ </soap:Envelope>' $.ajax({ url: loginUrl, type: "POST", contentType: "text/xml; charset=utf-8", dataType: "xml", data: soapRequest, success: processSuccess, error: processError }); }); }); function processSuccess(xmlHttpRequest, status, req) { if (status == "success") console.log(req.responseXML); } function processError(xmlHttpRequest, status, req) { alert("Error connection" + status); }
El error que lanza es el siguiente:
XMLHttpRequest cannot load http://[Dominio]/_vti_bin/authentication.asmx?op=Login. The request was redirected to ...., which is disallowed for cross-origin request that require preflight