首页 > 代码库 > crm使用soap启用和停用记录

crm使用soap启用和停用记录

function demo() {
    //操作记录的id
    var targetId = "a8a46444-ba10-e411-8a04-00155d002f02";
    //操作记录的实体名称
    var targetType = "new_config";
    //启用
    SetState(targetId, targetType, 1, 2);
    //停用
    SetState(targetId, targetType, 0, 1);
}

function SetState(targetId,targetType,state,status) {
    var request = "<s:Envelope xmlns:s=‘http://schemas.xmlsoap.org/soap/envelope/‘>" +
     "<s:Body>" +
     "<Execute xmlns=‘http://schemas.microsoft.com/xrm/2011/Contracts/Services‘ xmlns:i=‘http://www.w3.org/2001/XMLSchema-instance‘>" +
     "<request i:type=‘b:SetStateRequest‘ xmlns:a=‘http://schemas.microsoft.com/xrm/2011/Contracts‘ xmlns:b=‘http://schemas.microsoft.com/crm/2011/Contracts‘>" +
     "<a:Parameters xmlns:c=‘http://schemas.datacontract.org/2004/07/System.Collections.Generic‘>" +
     "<a:KeyValuePairOfstringanyType>" +
     "<c:key>EntityMoniker</c:key>" +
     "<c:value i:type=‘a:EntityReference‘>" +
     "<a:Id>" + targetId + "</a:Id>" +
     "<a:LogicalName>"+ targetType +"</a:LogicalName>" +
     "<a:Name i:nil=‘true‘ />" +
     "</c:value>" +
     "</a:KeyValuePairOfstringanyType>" +
     "<a:KeyValuePairOfstringanyType>" +
     "<c:key>State</c:key>" +
     "<c:value i:type=‘a:OptionSetValue‘>" +
     "<a:Value>" + state + "</a:Value>" +
     "</c:value>" +
     "</a:KeyValuePairOfstringanyType>" +
     "<a:KeyValuePairOfstringanyType>" +
     "<c:key>Status</c:key>" +
     "<c:value i:type=‘a:OptionSetValue‘>" +
     "<a:Value>"+ status +"</a:Value>" +
     "</c:value>" +
     "</a:KeyValuePairOfstringanyType>" +
     "</a:Parameters>" +
     "<a:RequestId i:nil=‘true‘ />" +
     "<a:RequestName>SetState</a:RequestName>" +
     "</request>" +
     "</Execute>" +
     "</s:Body>";
     "</s:Envelope>";
    
    getWebUrl(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启用和停用记录