只有一个OData数据源更好吗?
我的应用程序的控制器大多调用一个没有问题的数据源 然而,其中一个使用三个独立的数据源,有时在访问它们时返回403个禁止的错误只有一个OData数据源更好吗?,odata,sapui5,Odata,Sapui5,我的应用程序的控制器大多调用一个没有问题的数据源 然而,其中一个使用三个独立的数据源,有时在访问它们时返回403个禁止的错误 “数据源”:{ “ZSV_调查_SRV”:{ “uri”:“/SAPUI5-ABAP-SFI/sap/opu/odata/sap/ZSV_SURVEY_SR/”, “类型”:“OData”, “设置”:{ “odataVersion”:“2.0”, “localUri”:“localService/metadata.xml” } }, “ZRUI_COMMON_SRV”:
“数据源”:{
“ZSV_调查_SRV”:{
“uri”:“/SAPUI5-ABAP-SFI/sap/opu/odata/sap/ZSV_SURVEY_SR/”,
“类型”:“OData”,
“设置”:{
“odataVersion”:“2.0”,
“localUri”:“localService/metadata.xml”
}
},
“ZRUI_COMMON_SRV”:{
“uri”:“/SAPUI5-ABAP-SFI/sap/opu/odata/sap/ZRUI\u COMMON\u SRV/”,
“类型”:“OData”,
“设置”:{
“odataVersion”:“2.0”,
“localUri”:“localService/ZRUI\u COMMON\u SRV/metadata.xml”
}
},
“ZTC商店交易日历SRV”:{
“uri”:“/SAPUI5-ABAP-SFI/sap/opu/odata/sap/ZTC\u店铺\u交易\u日历\u SRV/”,
“类型”:“OData”,
“设置”:{
“odataVersion”:“2.0”,
“localUri”:“localService/ZTC\u SHOP\u TRADING\u CALENDAR\u SRV/metadata.xml”
}
}
}
将所有方法合并到一个数据源(例如ZSV\u SURVEY\u SRV
)会更好吗?还是三个单独的数据源都可以并且不会出现问题
如果三个数据源都正常,为什么有时会出现403
错误
无论哪种方式都有性能优势吗?除了您面临的403禁止错误之外,将所有内容都放在同一个服务中也有其优势: 设计视角
如果你真的需要三种不同的服务有一个很好的理由,不妨考虑创建一个第四个组合,所有的三个组合。在SEGW中,你可以通过在数据模型文件夹中右键单击,并使用包含> > ODATA服务(GW)选项
来组合项目内的其他服务。但无论如何,在同一服务中使用不同的实体集。这是值得的。有趣的发现。我在一个添加了两个数据源的项目中也遇到了这个问题。第二个数据源在我发送的第一个请求中失败,禁用403。当我刷新页面并重试时,它就工作了。我没有在那里做过很多研究et,但是如果你发现了一些东西,如果你能给我一个小的更新,我会很高兴的。是的,刷新后它确实工作正常,但它根本不应该发生。如果我得到答案,我会更新。一个控制器是如何使用这三个数据源的?你什么时候得到403?在读取元数据、实体或集合时?通常是r建议具有(请参见
4.
)我得到了403的初始元数据读数这403错误发生在Web IDE在云中或者在部署应用程序到你的内部系统之后?如果它在云中我会仔细检查SAP云连接器并考虑报告问题SAP完全同意…管理一个以上的ODATA模型是头疼的…对我来说是最好的优势单个OData模型以其最简单的方式控制datarequest
、change
和dataReceived
事件以及metadataFailed
和requestFailed
事件的错误处理。