提问人:Martin Braun 提问时间:8/15/2017 最后编辑:Boghyon HoffmannMartin Braun 更新时间:12/28/2020 访问量:786
Cloud Connector 无法在设备上加载 JSON 数据
Cloud connector fails to load JSON data on device
问:
我们的客户已将其系统更改为SAP,并希望应用程序通过SAP界面显示数据。我们决定使用 SAPUI5 框架 + WebIDE 来开发应用程序,因为它提供了非常好的控制多样性,具有可靠的 MVC 设计以及易于使用的 SAP 界面云连接器。
我们配置了一个连接器,如下所示:
neo-app.json
{
"welcomeFile": "/webapp/index.html",
"routes": [
{
"path": "/resources",
"target": {
"type": "service",
"name": "sapui5",
"entryPath": "/resources"
},
"description": "SAPUI5 Resources"
},
{
"path": "/test-resources",
"target": {
"type": "service",
"name": "sapui5",
"entryPath": "/test-resources"
},
"description": "SAPUI5 Test Resources"
},
{
"path": "/mynews",
"target": {
"type": "destination",
"name": "MyNews_CMS",
"preferLocal": true
}
}
],
"sendWelcomeFileRedirect": true
}
这是我们在组件.js中的测试调用:
try {
$.get("/mynews/?json=2", function(data, status) {
alert("success: " + JSON.stringify(data));
}).fail(function(arg1) {
alert("error: " + JSON.stringify(arg1));
});
} catch (err) {
alert("global error: " + err);
}
在我们的WebIDE中,我们从SAP连接器API中获得了一个完整的JSON,其中包含所有需要的数据,但是,一旦我们构建应用程序并将其发布到任何使用HAT(Android,iOS,甚至签名)的设备上,请求就会失败。
首先,它发出警报(空对象),然后发出警报{}
error: {"readyState":0,"status":0,"statusText":"error"}
我们该如何解决这个问题?
答:
-1赞
Sebastian Limbach
2/17/2018
#1
与您的 UI5 应用程序无关。它甚至不需要让应用程序工作,因为只有SAP WebIDE解释并使用此文件进行配置。neo-app.json
你真正想做的是在你的中定义你的目的地:manifest.json
...
"dataSources": {
"ODataEndpoint": {
"uri": "https://yourappname.hana.ondemand.com/your/odata/path/",
"type": "OData",
"settings": {
"odataVersion": "2.0",
"localUri": "/your/odata/path/"
}
}
}
...
"models": {
"": {
"dataSource": "ODataEndpoint"
}
}
...
如果这不起作用,则应调试设备网络活动,以查看调用了哪个 URL。
如何在 iOS 应用程序中调试网络调用:https://cordova.apache.org/docs/en/latest/guide/next/#ios-debugging
如何在 Android 应用程序中调试网络调用:https://cordova.apache.org/docs/en/latest/guide/next/#chrome-remote-debugging
评论
1赞
Marc
4/29/2020
如果有人来到这里并阅读此答案:neo-app.json与您的 UI5 应用程序有关。如果你的应用在 SAP Cloud Platform 中运行,这是告知应用要加载哪个后端的方法。请在您的清单中没有硬编码的绝对 URL。
评论