我在两个不同的系统上有两个OData服务,为此我在HCP中添加了目标,在 neo-aap.json 文件中添加了条目。
{
"path": "/sap/opu/odata",
"target": {
"type": "destination",
"name": "ABC",
"entryPath": "/sap/opu/odata"
},
"description": "ABC"
}, {
"path": "/sap/opu/odata",
"target": {
"type": "destination",
"name": "XYZ",
"entryPath": "/sap/opu/odata"
},
"description": "XYZ"
}
有了这个,我只能访问一个系统的服务,即ABC
上的OData服务。当应用程序加载应用程序尝试加载第二个OData服务的命中元数据时,ABC
显然不存在,因此失败。
如何在XYZ
系统上访问OData服务?
答案 0 :(得分:2)
如果'路径'是相同的,只有第一个匹配。为目的地设置不同的路径。 '路径' neo-app.json中的属性只是目的地的别名。使用您的配置,这意味着,无论何时在您的应用中,您都需要来自' / sap / opu / odata / ...'应用程序将使用您在Destination中配置的URL覆盖路径的这一部分。
做这样的事情:
{
"path": "/ABC/sap/opu/odata",
"target": {
"type": "destination",
"name": "ABC",
"entryPath": "/sap/opu/odata"
},
"description": "ABC"
}, {
"path": "/XYZ/sap/opu/odata",
"target": {
"type": "destination",
"name": "XYZ",
"entryPath": "/sap/opu/odata"
},
"description": "XYZ"
}
然后确保使用" / ABC / sap / opu / odata"或" / XYZ / sap / opu / odata"无论何时设置模型数据源。
答案 1 :(得分:1)
从我的角度来看,这是一个错误。
用于定位目的地的密钥是" path
"值因此您将始终到达第一个目的地。
您可以通过将路径从/sap/opu/odata
更改为/sap/opu/odata1
来解决此问题
然后,在manifest.json中编辑dataSource:调整" uri
"在您尝试指向第二条路径的任何模型上调整路径。
我已经写了here,并且正在努力让SAP改变这种行为。