我在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的问题。无法理解为什么会这样。请找到附件。source和CSRF 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