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);
}