回答

3

是的,它使用PublishAllXmlPublishXml行动是完全可行的。您可以使用CRMRESTBuilder轻松地测试这些操作:

PublishAllXml例

var req = new XMLHttpRequest(); 
req.open("POST", Xrm.Page.context.getClientUrl() + "/api/data/v8.1/PublishAllXml", true); 
req.setRequestHeader("OData-MaxVersion", "4.0"); 
req.setRequestHeader("OData-Version", "4.0"); 
req.setRequestHeader("Accept", "application/json"); 
req.setRequestHeader("Content-Type", "application/json; charset=utf-8"); 
req.onreadystatechange = function() { 
    if (this.readyState === 4) { 
     req.onreadystatechange = null; 
     if (this.status === 204) { 
      //Success - No Return Data - Do Something 
      alert("it worked!"); 
     } else { 
      Xrm.Utility.alertDialog(this.statusText); 
     } 
    } 
}; 
req.send(); 

PublishXml例(它将只发布帐户实体):

var parameters = {}; 
parameters.ParameterXml = "<importexportxml><entities><entity>account</entity></entities></importexportxml>"; 

var req = new XMLHttpRequest(); 
req.open("POST", Xrm.Page.context.getClientUrl() + "/api/data/v8.1/PublishXml", true); 
req.setRequestHeader("OData-MaxVersion", "4.0"); 
req.setRequestHeader("OData-Version", "4.0"); 
req.setRequestHeader("Accept", "application/json"); 
req.setRequestHeader("Content-Type", "application/json; charset=utf-8"); 
req.onreadystatechange = function() { 
    if (this.readyState === 4) { 
     req.onreadystatechange = null; 
     if (this.status === 204) { 
      //Success - No Return Data - Do Something 
      alert("it worked!"); 
     } else { 
      Xrm.Utility.alertDialog(this.statusText); 
     } 
    } 
}; 
req.send(JSON.stringify(parameters)); 
相关问题