403禁止:使用tomcat服务器从Fiori App调用网关服务时CSRF令牌失败

时间:2016-02-27 06:06:59

标签: sapui5 netweaver

我在web ide中创建了Fiori应用程序(版本1.28)并导入到eclipse中。 在component.js配置中,我提到了没有代理的完整odata服务URL,并使用参数--disable web security在chrome中打开应用程序。

我刚刚在我的xml视图中做了一些Odata模型绑定到表的项聚合。

是的,我正在使用OData V2模型(在models.js中自动生成代码),csrf令牌的处理默认为true。

我可以看到一个用于获取CSRF令牌的调用,另一个用于批量获取数据(POST请求)。 但是,我仍然面临403 Forbidden的问题。无法理解为什么会这样。请找到附件。sourceCSRF Token Fetch

请建议如果我必须在我的UI5代码或OData服务实现或网关配置中进行任何更改。

从Models.js中提取

createODataModel: function(oOptions) {
    var aUrlParametersForEveryRequest, oConfig, sUrl;
    oOptions = oOptions || {};
    if (!oOptions.url) {
        jQuery.sap.log.error("<ErrorText>");
        return null;
    }
    oConfig = jQuery.extend(true, {}, oOptions.config);
    aUrlParametersForEveryRequest = oOptions.urlParametersForEveryRequest || [];
    oConfig.metadataUrlParams = oConfig.metadataUrlParams || {};
    sUrl = extendMetadataUrlParameters(aUrlParametersForEveryRequest, oConfig.metadataUrlParams, oOptions.url);
    return new ODataModel(sUrl, oConfig);
}

从Component.js中提取

"config": {
    "i18nBundle": "ZMM_PMTOT.i18n.i18n",
    "serviceUrl": "https://<host>:<port>/sap/opu/odata/sap/ZMM_PMTOT/",
},
init: function() {
    var mConfig = this.getMetadata().getConfig();
    var oModel = models.createODataModel({
        urlParametersForEveryRequest: ["sap-server", "sap-client", "sap-language"],
        url: this.getMetadata().getConfig().serviceUrl,
        config: {
            metadataUrlParams: {
                "sap-documentation": "heading"
            }
        }
    });
    this.setModel(oModel);
    this._createMetadataPromise(oModel);
}

先谢谢!! !!

最诚挚的问候, Phaneendra

0 个答案:

没有答案