"This page is accessing information that is not under its control" bu hatayı Async çağrılarda alıyorsanız ki bu pekala çok mümkün.Sorunun sebebi var olan CRM'iniz farklı URL'lerden açılmaya çalışıldığında sorgu yapılacak olan servisin url'inin Cross Side Scripting noktasında problem çıkartıyor olması.Aşağıdaki metodda bunun nasıl kotarılabileceğini gösterdim.Yani adam crm.firma.com.tr den geliyorsa web servisinede bu domain üzerinden bu URL ile erişmeli.Js de yer alan document.location property'si ile şahsın nerden geldiğini görebilirsiniz..
13 function createSOAPMessage(fetchXml)
14 {
15 var soapHeaderXml = "<soap:Envelope " +
16 "xmlns:soap='http://schemas.xmlsoap.org/soap/envelope/' "+
17 "xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' "+"xmlns:xsd='http://www.w3.org/2001/XMLSchema'>"+
18 GenerateAuthenticationHeader() + "<soap:Body>";
19 var soapFooterXml = "</soap:Body></soap:Envelope>";
20 fetchXml = fetchXml.replace(/&/g, '&');
21 fetchXml = fetchXml.replace(/</g, '<');fetchXml = fetchXml.replace(/>/g, '>');
22 fetchXml = fetchXml.replace(/'/g, ''');
23 fetchXml = fetchXml.replace(/"/g, '"');
24 fetchXml = "<Fetch xmlns='http://schemas.microsoft.com/crm/2007/WebServices'>" + "<fetchXml>" + fetchXml + "</fetchXml>" + "</Fetch>";
25 var soapXml = soapHeaderXml + fetchXml + soapFooterXml;
26 var crmServiceUrl = SERVER_URL.replace(ORG_UNIQUE_NAME,"");
27
28 var getUrlX = document.location.href.toString();
29 crmServiceUrl = (getUrlX.indexOf('123.124.125.111')!=-1?'http://123.124.125.111/':'http://crmserver/'); // DİKKAT!!
30
31 crmServiceUrl = GetServerUrl(true,false,"");
32
33 crmServiceUrl += "mscrmservices/2007/crmservice.asmx"
34 var xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
35 xmlhttp.open("POST", crmServiceUrl , false);
36 xmlhttp.setRequestHeader( "Content-Type", "text/xml; charset=utf-8");
37 xmlhttp.setRequestHeader("SOAPAction", "http://schemas.microsoft.com/crm/2007/WebServices/Fetch");
38 xmlhttp.send(soapXml);
39 var xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
40 xmlDoc.async=false;
41 xmlDoc.loadXML(xmlhttp.responseXML.text);
42 return xmlDoc;
43 }