Javascript 激活全局自定义操作的SOAP请求中缺少必需的输入字段

Javascript 激活全局自定义操作的SOAP请求中缺少必需的输入字段,javascript,xml,soap,microsoft-dynamics,dynamics-crm-2015,Javascript,Xml,Soap,Microsoft Dynamics,Dynamics Crm 2015,我正在尝试在dynamics 2015中激活一个全局自定义操作,这将反过来激活在其上注册的插件。当我将参数标记为可选时,我可以激活它,并反过来激活我正在编写的插件。但是,当custom actions输入参数设置为required时,它会抛出一个错误,表示未提供该参数,即使我正在传递一个键值对,该键值对具有所需字段名的键和实体逻辑名的值 自定义操作是使用一个必需的输入参数(entityName)设置的。即使在发送时存在此项的键值对,它也无法识别该项,并回吐未提供该项 正在发送的XML:

我正在尝试在dynamics 2015中激活一个全局自定义操作,这将反过来激活在其上注册的插件。当我将参数标记为可选时,我可以激活它,并反过来激活我正在编写的插件。但是,当custom actions输入参数设置为required时,它会抛出一个错误,表示未提供该参数,即使我正在传递一个键值对,该键值对具有所需字段名的键和实体逻辑名的值

自定义操作是使用一个必需的输入参数(entityName)设置的。即使在发送时存在此项的键值对,它也无法识别该项,并回吐未提供该项

正在发送的XML:

        var requestXML = "";
        requestXML += "<s:Envelope xmlns:s=\"http://schemas.xmlsoap.org/soap/envelope/\">";
        requestXML += "  <s:Body>";
        requestXML += "<Execute xmlns=\"http://schemas.microsoft.com/xrm/2011/Contracts/Services\" xmlns:i=\"http://www.w3.org/2001/XMLSchema-instance\">";
        requestXML += "<request xmlns:a=\"http://schemas.microsoft.com/xrm/2011/Contracts\">";
        requestXML += "        <a:Parameters xmlns:b=\"http://schemas.datacontract.org/2004/07/System.Collections.Generic\">";
        requestXML += "          <a:KeyValuePairOfStringanyType>";
        requestXML += "            <b:key>entityName</b:key>";
        requestXML += "            <b:value i:type=\"d:string\" xmlns:d=\"http://www.w3.org/2001/XMLSchema\">" + Xrm.Page.data.entity.getEntityName();
        requestXML += "            </b:value>";
        requestXML += "          </a:KeyValuePairOfStringanyType>";
        requestXML += "        </a:Parameters>";
        requestXML += "        <a:RequestId i:nil=\"true\" />";
        requestXML += "        <a:RequestName>new_StartCloning</a:RequestName>";
        requestXML += "      </request>";
        requestXML += "    </Execute>";
        requestXML += "  </s:Body>";
        requestXML += "</s:Envelope>";

        var req = new XMLHttpRequest();

        req.open("POST", util.getBaseUrl()  + "/XRMServices/2011/Organization.svc/web", false)

        req.setRequestHeader("Accept", "application/xml, text/xml, */*");

        req.setRequestHeader("Content-Type", "text/xml; charset=utf-8");

        req.setRequestHeader("SOAPAction", "http://schemas.microsoft.com/xrm/2011/Contracts/Services/IOrganizationService/Execute");

        var response = req.send(requestXML);
var requestXML=”“;
requestXML+=“”;
requestXML+=“”;
requestXML+=“”;
requestXML+=“”;
requestXML+=“”;
requestXML+=“”;
requestXML+=“entityName”;
requestXML+=“”+Xrm.Page.data.entity.getEntityName();
requestXML+=“”;
requestXML+=“”;
requestXML+=“”;
requestXML+=“”;
requestXML+=“新启动”;
requestXML+=“”;
requestXML+=“”;
requestXML+=“”;
requestXML+=“”;
var req=新的XMLHttpRequest();
请求打开(“POST”,util.getBaseUrl()+”/XRMServices/2011/Organization.svc/web”,false)
setRequestHeader(“接受”、“应用程序/xml、文本/xml、*/*”);
请求setRequestHeader(“内容类型”,“文本/xml;字符集=utf-8”);
请求setRequestHeader(“SOAPAction”http://schemas.microsoft.com/xrm/2011/Contracts/Services/IOrganizationService/Execute");
var response=req.send(requestXML);
返回的错误消息:

s:ClientRequired字段“entityName”缺失-2147220989必填项 字段“entityName”为 缺失2015-08-05T20:55:26.0627226Z-2147220970系统异常: 必填字段“entityName”丢失2015-08-05T20:55:26.0627226Z

谢谢你读到这里,哈哈。

应该是