Показать сообщение отдельно
Старый 11.12.2012, 11:27   #6  
user20369502 is offline
user20369502
Участник
 
29 / 10 (1) +
Регистрация: 17.08.2012
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("хрень");
		}
	}
}