zoukankan      html  css  js  c++  java
  • crm使用soap批量删除数据

    //批量删除数据
    function demo() {
        //实体名称
        var entityname = "fw_student";
        var data = [];
        data.push("8B1D93C6-BF1E-E411-9406-00155D005802");
        data.push("20718494-0C2C-E411-9407-00155D005802");

        executemultipleDelete(entityname, data);
    }

    function executemultipleDelete(name,iddata) {
        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' xmlns:i='http://www.w3.org/2001/XMLSchema-instance'>";
        request += "<request i:type='a:ExecuteMultipleRequest' xmlns:a='http://schemas.microsoft.com/xrm/2011/Contracts'>";
        request += "<a:Parameters xmlns:b='http://schemas.datacontract.org/2004/07/System.Collections.Generic'>";
        request += "<a:KeyValuePairOfstringanyType>";
        request += "<b:key>Requests</b:key>";
        request += "<b:value i:type='c:OrganizationRequestCollection' xmlns:c='http://schemas.microsoft.com/xrm/2012/Contracts'>";
        var len = iddata.length;
        for (var i = 0; i < len; i++) {
            addItem(name,iddata[i]);
        }
        request += "</b:value>";
        request += "</a:KeyValuePairOfstringanyType>";
        request += "<a:KeyValuePairOfstringanyType>";
        request += "<b:key>Settings</b:key>";
        request += "<b:value i:type='c:ExecuteMultipleSettings' xmlns:c='http://schemas.microsoft.com/xrm/2012/Contracts'>";
        request += "<c:ContinueOnError>false</c:ContinueOnError>";
        request += "<c:ReturnResponses>true</c:ReturnResponses>";
        request += "</b:value>";
        request += "</a:KeyValuePairOfstringanyType>";
        request += "</a:Parameters>";
        request += "<a:RequestId i:nil='true' />";
        request += "<a:RequestName>ExecuteMultiple</a:RequestName>";
        request += "</request>";
        request += "</Execute>";
        request += "</s:Body>";
        request += "</s:Envelope>";

        execSoap(request);
    }

    function addItem(name,id) {
        var request = "<c:OrganizationRequest i:type='a:DeleteRequest'>";
        request += "<a:Parameters>";
        request += "<a:KeyValuePairOfstringanyType>";
        request += "<b:key>Target</b:key>";
        request += "<b:value i:type='a:EntityReference'>";
        request += "<a:Id>" + id + "</a:Id>";
        request += "<a:LogicalName>"+ name +"</a:LogicalName>";
        request += "<a:Name i:nil='true' />";
        request += "</b:value>";
        request += "</a:KeyValuePairOfstringanyType>";
        request += "</a:Parameters>";
        request += "<a:RequestId i:nil='true' />";
        request += "<a:RequestName>Delete</a:RequestName>";
        request += "</c:OrganizationRequest>";

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

  • 相关阅读:
    面试题
    Tornado中insert into sql语句的构造
    依赖注入
    Tornado抽象方法抽象类
    mysql 随机选取一条记录
    java中如何高效的判断数组中是否包含某个元素---
    Java8中计算日期时间差
    MySQL5.7中使用JSON
    sql中的in与not in,exists与not exists的区别
    APP开发浅谈-Fiddler抓包详解
  • 原文地址:https://www.cnblogs.com/cynchanpin/p/7089611.html
Copyright © 2011-2022 走看看