SAP WebIDE OData下拉菜单里的Destination从哪里来的

我今天做开发遇到一个问题:


我有trial和正式的SAP Cloud Platform账号各一个:


其中trial账号的webIDE连接到productive的CloudFoundry:

SAP WebIDE OData下拉菜单里的Destination从哪里来的


productive账号的WebIDE也连接到productive的CloudFoundry:

SAP WebIDE OData下拉菜单里的Destination从哪里来的


我发现在我新建OData服务时,从Service url的下拉菜单里,选择不到我在SAP云平台里创建的Destination.


SAP WebIDE OData下拉菜单里的Destination从哪里来的


SAP WebIDE OData下拉菜单里的Destination从哪里来的


怎么感觉trial WebIDE取的Destination来自trial neo环境创建的?


SAP WebIDE OData下拉菜单里的Destination从哪里来的

而productive的WebIDE,system下拉菜单里的Destination也来自productive Neo环境的Destination.


SAP WebIDE OData下拉菜单里的Destination从哪里来的


似乎CloudFoundry环境的Destination根本没有被考虑。


再检查我使用的webIDE的url.


trial:


https://webidecp-i042416trial.dispatcher.hanatrial.ondemand.com/


SAP WebIDE OData下拉菜单里的Destination从哪里来的

后来发现了一个github issue:

https://github.com/SAPDocuments/Tutorials/issues/3398

得知如果在SAP WebIDE里创建UI5应用,需要用Destination连结第三方服务时,需要在Neo环境里创建Destination,而不是在CloudFoundry环境里。


为了验证,我再次在Neo环境里创建一个Destination:

SAP WebIDE OData下拉菜单里的Destination从哪里来的


SAP WebIDE OData下拉菜单里的Destination从哪里来的


然后果然在WebIDE里看到了这个创建于Neo环境的Destination.


WebIDE Preferences里维护的CloudFoundry endpoint只是开发好的UI5应用部署的目的地。


SAP WebIDE OData下拉菜单里的Destination从哪里来的


那么问题又来了,既然这个UI5应用最终部署在SAP云平台的CloudFoundry环境下,如果CloudFoundry环境没有对应的Destination,运行时的表现是怎样的?


经过我实际测试,发现取不到OData服务的metadata,报500 Internal Server Error的错误。


SAP WebIDE OData下拉菜单里的Destination从哪里来的

于是我把Neo环境里创建的Destination导出,再倒入到CloudFoundry环境,这次发现OData metadata终于能够成功返回了:

SAP WebIDE OData下拉菜单里的Destination从哪里来的


分享到:


相關文章: