这条线不好;
"uri": "https://myclient:port/sap/opu/odata/SAP/servicename_SRV/",
这是因为你必须使用相对 URL,所以应该是
"uri": "/sap/opu/odata/SAP/servicename_SRV/",
其背后的原因很简单:您的客户肯定拥有多个 SAP Gateway/Fiori 系统。因此,您不应该对开发或生产系统的域进行硬编码。
假设您最终将 UI5 应用程序部署到 SAP NetWeaver 系统,那么该系统将包含 oData 服务和 UI5 应用程序。由于它们将托管在同一服务器中,因此相对 URL 可以正常工作。
然而,在 Web IDE 中,这还不够,因为如果您使用相对 URL,SAP Cloud/Web IDE 会理解您正在尝试访问云中的资源。
这就是为什么你应该添加/更改你的neo-app.json 文件 https://help.sap.com/viewer/825270ffffe74d9f988a0f0066ad59f0/Cloud/en-US/07cbc55eba264c4c9bcf81c501601fbf.html在你的 UI5 项目中。如果您已经拥有它,那么只需更改它即可。如果您的项目中还没有此文件,您可以通过右键单击项目名称并选择新增 >> HTML5 应用程序描述符。这将在项目的根目录中创建该文件。 (通常存在于 webapp 文件夹之外)。
最后,您必须在此 neo-app.json 文件中添加一条路由,如下所示
{
"path": "/sap/opu/odata",
"target": {
"type": "destination",
"name": "NAME_OF_YOUR_SAP_CLOUD_DESTINATION",
"entryPath": "/sap/opu/odata"
},
"description": "SAP Gateway System"
}
这告诉 Web IDE 将每个请求转发到指定目标下的不同系统。
仅当您有适当的设置时,这才有效SAP云连接器 https://www.sap.com/developer/tutorials/hcp-cloud-connector-setup.html将您的 SAP Cloud 帐户与 SAP NetWeaver 本地系统链接。