У меня есть запрос
Код:
var fetch = '<fetch distinct="false" no-lock="false" mapping="logical"><entity name="account"><all-attributes /></entity></fetch>';
var SoapRequest = "<s:Envelope xmlns:s=\"http://schemas.xmlsoap.org/soap/envelope/\">";
SoapRequest += "<s:Body>";
SoapRequest += "<RetrieveMultiple xmlns=\"http://schemas.microsoft.com/xrm/2011/Contracts/Services\"";
SoapRequest += " xmlns:i=\"http://www.w3.org/2001/XMLSchema-instance\">";
SoapRequest += "<query i:type=\"a:FetchExpression\" xmlns:a=\"http://schemas.microsoft.com/xrm/2011/Contracts\">";
SoapRequest += "<a:Query>" + fetch.replace(/</g, "<").replace(/>/g, ">") + "</a:Query>";
SoapRequest += "</query>";
SoapRequest += "</RetrieveMultiple>";
SoapRequest += "</s:Body>";
SoapRequest += "</s:Envelope>";
var oReq = new XMLHttpRequest();
var url = "/" + ORG_UNIQUE_NAME + "/XRMServices/2011/Organization.svc/web";
oReq.open("POST", url, false);
oReq.setRequestHeader("SOAPAction", "http://schemas.microsoft.com/xrm/2011/Contracts/Services/IOrganizationService/RetrieveMultiple");
oReq.setRequestHeader("Content-Type", "text/xml; charset=utf-8");
oReq.setRequestHeader("Content-Length", SoapRequest.length);
oReq.send(SoapRequest);
alert(oReq.responseText);
То, что он возвращает сложно для чтения и понимания нормальному человеку 
1. Хотелось бы знать как изменить запрос чтобы CRMService вернул что-то более читабельное. (например JSON string)
2. Можно ли делать soap запросы с "Impersonate a User" (по userid например)
Заранее благодарен Константин