首页 > 代码库 > crm使用soap取消用户访问记录权限

crm使用soap取消用户访问记录权限

//取消访问权限
function demo() {
    //操作记录的id
    var targetId = "A8A46444-BA10-E411-8A04-00155D002F02";
    //操作记录的实体名称
    var targetType = "new_config";
    //被分配的用户或者团队的id
    var assignId = "48025176-2B0E-E411-BA68-00155D002F02";
    //systemuser或者team
    var assignType = "systemuser";
   
    RevokeAccess(targetId, targetType, assignId, assignType);
}

function RevokeAccess(targetId, targetType, assignId, assignType) {
    var request = "<s:Envelope xmlns:s=\"
http://schemas.xmlsoap.org/soap/envelope/\">";
    request += "<s:Body>";
    request += "<Execute xmlns=\"
http://schemas.microsoft.com/xrm/2011/Contracts/Services\"";
    request += " xmlns:i=\"
http://www.w3.org/2001/XMLSchema-instance\">";
    request += "<request i:type=\"b:RevokeAccessRequest\"";
    request += " xmlns:a=\"
http://schemas.microsoft.com/xrm/2011/Contracts\"";
    request += " xmlns:b=\"
http://schemas.microsoft.com/crm/2011/Contracts\">";
    request += "<a:Parameters xmlns:c=\"
http://schemas.datacontract.org/2004/07/System.Collections.Generic\">";
    request += "<a:KeyValuePairOfstringanyType>";
    request += "<c:key>Target</c:key>";
    request += "<c:value i:type=\"a:EntityReference\">";
    request += "<a:Id>" + targetId + "</a:Id>";
    request += "<a:LogicalName>" + targetType + "</a:LogicalName>";
    request += "<a:Name i:nil=\"true\" />";
    request += "</c:value>";
    request += "</a:KeyValuePairOfstringanyType>";
    request += "<a:KeyValuePairOfstringanyType>";
    request += "<c:key>Revokee</c:key>";
    request += "<c:value i:type=\"a:EntityReference\">";
    request += "<a:Id>" + assignId + "</a:Id>";
    request += "<a:LogicalName>" + assignType + "</a:LogicalName>";
    request += "<a:Name i:nil=\"true\" />";
    request += "</c:value>";
    request += "</a:KeyValuePairOfstringanyType>";
    request += "</a:Parameters>";
    request += "<a:RequestId i:nil=\"true\" />";
    request += "<a:RequestName>RevokeAccess</a:RequestName>";
    request += "</request>";
    request += "</Execute>";
    request += "</s:Body>";
    request += "</s:Envelope>";

    execSoap(request);
}
//获取服务地址
function getWebUrl() {
    var serverUrl = Xrm.Page.context.getServerUrl();
    if (serverUrl.match(/\/$/)) {
        serverUrl = serverUrl.substring(0, serverUrl.length - 1);
    }
    return serverUrl + "/XRMServices/2011/Organization.svc/web";
}
//执行请求
function execSoap(request) {
    var ajaxRequest = new XMLHttpRequest();
    ajaxRequest.open("POST", getWebUrl(), true)
    ajaxRequest.setRequestHeader("Accept", "application/xml, text/xml, */*");
    ajaxRequest.setRequestHeader("Content-Type", "text/xml; charset=utf-8");
    ajaxRequest.setRequestHeader("SOAPAction", "
http://schemas.microsoft.com/xrm/2011/Contracts/Services/IOrganizationService/Execute");
    ajaxRequest.send(request);
}

crm使用soap取消用户访问记录权限