Vor der Verwendung einer Manifest-Datei habe ich benutzerdefinierte Header zur Konfiguration meines oData-Modells hinzugefügt. Ab dem SAP UI5 1.30 verwendet Component.js nun eine Manifest-Datei und sobald die Runtime die Funktion Component.js init() aufruft, ist das Modell bereits geladen und eine erste Anfrage ist bereits an meinen Dienst gestellt. Ich brauche einen Weg, um meine benutzerdefinierten Header zur Laufzeit und bevor die erste Anfrage an meinen Dienst gemacht wird.SAP UI5> 1.30, wie man benutzerdefinierte Modell-Header vor der ersten Anfrage setzt
Vorher:
// The service URL for the oData model
var oServiceConfig = this.getMetadata().getConfig().serviceConfig;
var sServiceUrl = oServiceConfig.serviceUrl;
// the metadata is read to get the location of the i18n language files later
var mConfig = this.getMetadata().getConfig();
this._routeMatchedHandler = new sap.m.routing.RouteMatchedHandler(this.getRouter(), this._bRouterCloseDialogs);
// create oData model
this._initODataModel(sServiceUrl);
// _initODataModel function
headers = {custom: 'hello world'};
var oConfig = {
metadataUrlParams: {},
json: true,
// loadMetadataAsync : true,
defaultBindingMode: "OneWay",
defaultCountMode: "Inline",
useBatch: true,
headers: headers
};
var oModel = new sap.ui.model.odata.ODataModel(sServiceUrl, oConfig);
this.setModel(oModel);
Können Sie Code hinzufügen? Momentan denke ich, was Sie ohne Manifest getan haben, war metadataUrlParams vor dem Laden des Modells übergeben? Ich denke in Manifest existiert das auch .. "models": -> "" -> Einstellungen -> metadataUrlParams ... in JSON Style. – zyrex
@zyrax Sorry, wenn ich nicht klar war, muss ich meine Header-Werte zur Laufzeit berechnen ... – Pieter