Ich möchte Daten aus einem oData-Modell im SAP UI5 anzeigen.Wie kann ich oData von einem Service in SAP UI5 konsumieren, ohne die Web IDE zu verwenden?
"dataSources": {
"ZSM_APPLIKATION_SRV": {
"uri": "/sap/opu/odata/SAP/ZSM_APPLIKATION_SRV/",
"type": "OData",
"settings": {
"odataVersion": "2.0",
"localUri": "localService/ZSM_APPLIKATION_SRV/metadata.xml"
}
}
},
"models": {
"i18n": {
...
}
},
"oData": {
"dataSource": "ZSM_APPLIKATION_SRV"
}
}
Wie Sie fügte ich bereits den OData-Service zum manifest.json und spezifiziert das Modell „OData“ darzustellen, diesen Service zu sehen.
Ich möchte jetzt die Dienste Daten in einer Tabelle anzeigen. Wenn die Eigenschaft items="{oData>/UserSet}"
der Tabelle hinzugefügt wird, funktioniert sie einwandfrei, wenn die Anwendung mit der Web-IDE gestartet wird und alle Daten angezeigt werden. Anstatt die Web IDE zu verwenden, verwende ich PhpStorm und einen lokalen Apache Web Server, um die UI5 App zu testen. Bei Verwendung der Lösung, die Fehler werden immer in der Chrome-Konsole und die Daten werden nicht in der Tabelle I mit der Web IDE arbeitet angezeigt:
"Failed to load resource: the server responded with a status of 404 (Not Found)"
So IDEs die Web webserer den Dienst zu finden scheint ohne Probleme, während sowohl der lokale Apache-Server als auch der eingebaute PhpStorm-Server ihn nicht finden.
Ich habe auch versucht, so an der Chromkonsole in immer weiteren Fehler
XMLHttpRequest cannot load http://xxx:50020/sap/opu/odata/SAP/ZSM_APPLIKATION_SRV/$metadata?sap-language=DE. Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost' is therefore not allowed access. The response had HTTP status code 401.
Gibt es eine Möglichkeit jetzt führt Dadurch könnte die Full-Service-URI in der manifest.json
"uri": "http://xxx:50020/sap/opu/odata/SAP/ZSM_APPLIKATION_SRV/"
eingeben zu Verbindung zu meinem Dienst herstellen und Daten ohne Verwendung der Web-IDE verbrauchen? Wie kann ich diesen Fehler beheben?
Vielen Dank im Voraus