Web IDE で Fiori アプリ (バージョン 1.28) を作成し、Eclipse にインポートしました。component.js 構成で、プロキシなしの完全な odata サービス URL について言及し、引数 --disable Web security を使用してクロムでアプリケーションを開きます。
xml ビューでテーブルの項目集計に Odata モデルをバインドしました。
はい、私は OData V2 モデル (models.js で自動生成されたコード) を使用しています。csrf トークンの処理はデフォルトで true です。
CSRFトークンを取得するための呼び出しと、バッチでデータを取得するための呼び出し(POSTリクエスト)が発生していることがわかります。それでも、403 Forbidden という問題に直面しています。なぜこれが起こっているのか理解できません。添付を見つけてください。CSRF トークンの取得とCSRF トークンの失敗
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);
}
前もって感謝します..!!
敬具、 ファニーンドラ