답변

3

예, PublishAllXml 또는 PublishXml 작업을 사용하면 완벽하게 가능합니다.

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)); 
쉽게 이러한 작업을 테스트하는 CRMRESTBuilder을 사용할 수 있습니다
관련 문제