1)Открываю браузер
2) вписываю url
3) получаю редирект на форму авторизации ADFS
3) логинюсь (администратор домена)
4) получаю редирект в обратную сторону и попадаю в crm
5) открываю новую вкладку вписываю url (*****XRMServices/2011/Organization.svc)
6) получаю верный ответ, то есть с авторизацией все норм
7) вписываю в этой же вкладке url (****XRMServices/2011/OrganizationData.svc/) – ошибка
PS: если закрыть браузер и сразу постучаться на 5 потребует авторизицию, то есть, все верно
Ну код так код
X++:
function Form_onload() {
var contact_lookup = Xrm.Page.getAttribute("bla-bla_contactid");
if(contact_lookup == null || contact_lookup.getValue() == null) {
return;
}
var contact_id = contact_lookup.getValue()[0].id;
var server_url = Xrm.Page.context.getServerUrl();
if (server_url.match(/\/$/)) {
server_url = server_url.substring(0, server_url.length - 1);
}
server_url += "/CRM/XRMServices/2011/OrganizationData.svc/contactSet(guid'" + contact_id.toString() + "')?$select=mobilephone,birthdate";
alert(server_url);
var post_request = new XMLHttpRequest();
post_request.open("POST", server_url, true); //пробовал и постом и гетом
post_request.setRequestHeader("Accept", "application/json");
post_request.setRequestHeader("Content-Type", "application/json; charset=utf-8");
post_request.onreadystatechange = function () { oDataCallBack(this); };
post_request.send(null);
}
function oDataCallBack(retrievedData) {
if (retrievedData.readyState == 4) {
if (retrievedData.status == 200) {
alert(retrievedData.responseText);
/*
Data = JSON.parse(retrievedData.responseText).d;
for (i = 0; i < fields.length; i++)
values[i] = eval("Data." + fields[i]);
*/
} else {
alert("хрень");
}
}
}