如何在不使用Web IDE的情况下从SAP UI5中的服务中使用oData?

时间:2017-06-08 10:08:01

标签: odata phpstorm sapui5

我想在SAP UI5中显示来自oData模型的数据。

"dataSources": {
            "ZSM_APPLIKATION_SRV": {
                "uri": "/sap/opu/odata/SAP/ZSM_APPLIKATION_SRV/",
                "type": "OData",
                "settings": {
                    "odataVersion": "2.0",
                    "localUri": "localService/ZSM_APPLIKATION_SRV/metadata.xml"
                }
            }
        },

"models": {
    "i18n": {
        ...
        }
    },
    "oData": {
        "dataSource": "ZSM_APPLIKATION_SRV"
    }
}

如您所见,我已将oData服务添加到manifest.json并指定模型“oData”来表示此服务。

我现在想在表格中显示服务数据。将属性items="{oData>/UserSet}"添加到表时,在使用Web IDE启动应用程序并显示所有数据时,它可以正常工作。 我没有使用Web IDE,而是使用PhpStorm和本地Apache Web Server来测试UI5应用程序。 使用适用于Web IDE的解决方案时,我在Chrome控制台中不断收到错误,并且数据不会显示在表格中:

"Failed to load resource: the server responded with a status of 404 (Not Found)"

因此,Web IDEs webserer似乎没有问题地找到该服务,而本地apache服务器和内置的PhpStorm服务器都找不到它。

我还尝试在manifest.json

中输入完整的服务URI
"uri": "http://xxx:50020/sap/opu/odata/SAP/ZSM_APPLIKATION_SRV/"

这样做会导致在Chrome控制台上出现另一个错误

XMLHttpRequest cannot load http://xxx:50020/sap/opu/odata/SAP/ZSM_APPLIKATION_SRV/$metadata?sap-language=DE. Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost' is therefore not allowed access. The response had HTTP status code 401.

现在有没有办法连接我的服务并使用数据而不使用Web IDE?我该如何解决这个错误。

提前致谢

1 个答案:

答案 0 :(得分:0)

PhpStorm要求配置正确的部署设置(请参阅tutorial) - IDE无法检测复杂项目中的路径映射,因此您必须配置部署和扩展。路径映射可以在IDE内部工作。