0

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);
}

前もって感謝します..!!

敬具、 ファニーンドラ

4

0 に答える 0