crm 2011 IFD无法使用OData和Javascript工作

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

首先,我们的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(“/XRMServices/2011/OrganizationData.svc”);Odata和JS函数不工作,无法访问

当使用prependogname和lvObj_XMLDocHnd2.open(“GET”,lvSz_ODataQueryURL,true)时,lvObj_XMLDocHnd2.readyState1(应为4)

当使用prependogname和lvObj_XMLDocHnd2.open(“GET”,lvSz_ODataQueryURL,false),lvObj_XMLDocHnd2.readyState4lvObj_XMLDocHnd2.status404(应为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.");
}