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";
Assign(targetId, targetType, assignId, assignType);
}
function Assign(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:AssignRequest\"";
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>Assignee</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>Assign</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);
}