アクションを作成するときは、「エンティティ」に「なし」を指定します。これにより、アクションがグローバルになります。グローバルアクションは、エンティティ参照を渡す必要はありません。だから、JSは次のようになります。
function ExecuteAction(requestName, refreshPage, stringParameter) {
// Creating the request XML for calling the Action
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>Data</b:key>';
requestXML += ' <b:value i:type="c:string" xmlns:c="http://www.w3.org/2001/XMLSchema">' + stringParameter + '</b:value>';
requestXML += ' </a:KeyValuePairOfstringanyType>';
requestXML += ' </a:Parameters>';
requestXML += ' <a:RequestId i:nil="true " />';
requestXML += ' <a:RequestName>' + requestName + '</a:RequestName>';
requestXML += ' </request>';
requestXML += ' </Execute>';
requestXML += ' </s:Body>';
requestXML += '</s:Envelope>';
var req = new XMLHttpRequest();
req.open("POST", GetServiceUrl(), 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");
req.send(requestXML);
//refresh the page if the request was successful.
if (req.status == 200) {
if (refreshPage) {
RefreshForm()
}
} else {
Xrm.Utility.alertDialog(req.statusText + "n" + req.responseXML.getElementsByTagName("faultstring")[0].textContent);
}
}
は(あなたがそう、私は引用符のすべてを反転し、コードを再フォーマットする必要がありましたブログ記事からコードをコピーしたときに私が何かを見逃している可能性があります
ありがとうございます!私は何らかの理由でコメントを追加する前に、さらに8つのことを述べています。 – gareth99