crm 2011 IFD无法使用OData和Javascript工作
首先,我们的crm 2011是基于前提的。然后更改为IFD()。当更改为IFD时,所有OData和javascript都无法工作 在内部部署中,我们使用服务器url…crm 2011 IFD无法使用OData和Javascript工作,javascript,dynamics-crm-2011,odata,Javascript,Dynamics Crm 2011,Odata,首先,我们的crm 2011是基于前提的。然后更改为IFD()。当更改为IFD时,所有OData和javascript都无法工作 在内部部署中,我们使用服务器url… var lvSz_CRMServerURL=Xrm.Page.Context.getServerUrl(); 对于OData和JS来说,它工作得很好 在IFD中,我们将用于服务器url var lvSz_crmodatasvcurleendpoint=Xrm.Page.context.prependogname(“/XRMServ
var lvSz_CRMServerURL=Xrm.Page.Context.getServerUrl(); 对于OData和JS来说,它工作得很好 在IFD中,我们将用于服务器url var lvSz_crmodatasvcurleendpoint=Xrm.Page.context.prependogname(“/XRMServices/2011/OrganizationData.svc”);Odata和JS函数不工作,无法访问 当使用prependogname和lvObj_XMLDocHnd2.open(“GET”,lvSz_ODataQueryURL,true)时,lvObj_XMLDocHnd2.readyState为1(应为4) 当使用prependogname和lvObj_XMLDocHnd2.open(“GET”,lvSz_ODataQueryURL,false),lvObj_XMLDocHnd2.readyState为4但lvObj_XMLDocHnd2.status为404(应为200)。因此,OData和JS被停止,并且没有通过检查 请给我任何建议。什么是错误的,可能是配置或JS功能 请看一下我的OData和JS函数
}IFD OData端点应如下所示: 您可以在设置->定制->开发人员资源
从UR12开始,您应该使用
Xrm.Page.context.getClientUrl()
它取代Xrm.Page.context.getServerUrl()
来获取组织的基本url。我可以知道哪个汇总版本吗?实际上,我们有Infra团队(硬件),所以我不确定他们是否已经安装。请让我知道我们需要安装哪个汇总。Thanksrollup12包含一个名为getClientUrl的方法,通常可以修复此类问题非常感谢您的帮助。正如建议的那样,我使用getClientURL()var lvSz_CRMServerURL=Xrm.Page.context.getClientURL();var lvSz_crmodatasvcurleendpoint=lvSz_CRMServerURL+“/XRMServices/2011/OrganizationData.svc”;但是lvObj_XMLDocHnd2.readyState是4,而lvObj_XMLDocHnd2.status是404(应该是200)。我还检查了CRM服务器汇总版本是否为汇总16。请给我任何建议来解决这个问题。大家好,现在我发现一个不同的。当我使用Xrm.Page.context.getClientUrl()时,url是“”(这与更改为IFD之前的本地url链接相同)。使用Xrm.Page.context.getServerUrl()时,url为“”。当我签入开发人员资源时,url为“”,与getServerUrl()相同。我还混淆了如何使用OData和JS(注意url是保密的示例链接)。谢谢。IFD url不应该像“域/组织”(即与IFD设置之前相同),我强烈怀疑您的IFD/ADFS配置中有问题(虽然我不熟悉涉及的步骤,但我将留给具有更深入专业知识的人来解决…)
function JS_GenerateQuotation() {
//debugger;
var opportunityId = Xrm.Page.data.entity.getId(); //Xrm.Page.getAttribute("new_opportunityid").getValue()[0].id;
var prepareQuotation;
//var lvSz_CRMServerURL = rootURL + "/GBGroupUAT";
//var lvSz_CRMODataSvcURLEndpoint = lvSz_CRMServerURL + "/XRMServices/2011/OrganizationData.svc";
var lvSz_CRMODataSvcURLEndpoint = Xrm.Page.context.prependOrgName("/XRMServices/2011/OrganizationData.svc");
var lvObj_XMLDocHnd2 = null;
lvObj_XMLDocHnd2 = new XMLHttpRequest();
var relatedEntity = "opportunity";
var lvSz_ODataQueryURL = lvSz_CRMODataSvcURLEndpoint + ((relatedEntity == "opportunity") ? "/OpportunitySet?$select=new_PrepareQuotation&$filter=OpportunityId eq guid'" + opportunityId + "'" : "");
lvObj_XMLDocHnd2.open("GET", lvSz_ODataQueryURL, false);
lvObj_XMLDocHnd2.setRequestHeader("Accept", "application/json");
lvObj_XMLDocHnd2.setRequestHeader("Content-Type", "application/json; charset=utf-8");
var lvArr_CRMRecordsMatchingSpecifiedGUID;
lvObj_XMLDocHnd2.onreadystatechange = function () {
if (lvObj_XMLDocHnd2.readyState == 4) {
if (lvObj_XMLDocHnd2.status == 200) {
lvArr_CRMRecordsMatchingSpecifiedGUID = eval('(' + lvObj_XMLDocHnd2.responseText + ')');
if (lvArr_CRMRecordsMatchingSpecifiedGUID == null || lvArr_CRMRecordsMatchingSpecifiedGUID == "" || lvArr_CRMRecordsMatchingSpecifiedGUID.d.results[0] == null) {
}
else {
prepareQuotation = lvArr_CRMRecordsMatchingSpecifiedGUID.d.results[0].new_PrepareQuotation;
}
}
}
}
lvObj_XMLDocHnd2.send();
if (prepareQuotation != false) {
var GUIDvalue = Xrm.Page.data.entity.getId();
var serverUrl = urlGenerateQuotation + GUIDvalue;
var features = "location=no,menubar=no,status=no,toolbar=no,resizable=1";
window.open(serverUrl, "_blank", features);
}
else {
alert("Please prepare quotation.");
}