首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Odata服务元数据失败

Odata服务元数据失败
EN

Stack Overflow用户
提问于 2018-06-12 07:51:32
回答 1查看 7.8K关注 0票数 0

后端团队提供了新的Odata服务。我在舱单上声明了它,并在控制器中使用了它。在我的系统中是正确的。但它在任何其他环境中都不能正常工作。我收到一个错误信息-元数据的初始加载失败。还有一些内部服务器错误。

Manifest.json

代码语言:javascript
复制
"ordersq": {
            "uri": "/sap/opu/odata/sap/ZOrders_QUEUE_SRV/",
            "type": "OData",
            "settings": {
                "odataVersion": "2.0",
                "localUri": "localService/ZOrders_QUEUE_SRV/metadata.xml"
            }
        },

主计长:

代码语言:javascript
复制
var sServiceUrl = this.getOwnerComponent().getMetadata().getManifestEntry("sap.app").dataSources["ordersq"].uri;
                var OdataModel = new sap.ui.model.odata.v2.ODataModel(sServiceUrl);
                var sPath = "/BuyersQueueSet('" + mfOrder + "')";
                OdataModel.read(sPath, {
                    success: this.queueSuccess.bind(this),
                    error: this.queueError.bind(this)
                });
            }

我是不是错过了什么。我必须为那个metadata.xml做点什么吗?我没有配置更多的东西。我只是复制粘贴的localuri如何为其他服务提供它,而没有为这个新服务添加任何元数据。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-06-12 14:45:04

可能你遇到了CORS的问题。如果您在请求$metadata时有401或403,则请签入网络跟踪。当您试图从不同的服务器加载某些资源时,就会发生这种情况。

这是一个众所周知的共同问题,而且是出于安全原因。有几种方法可以克服这一问题,这些方法都有很好的记录。

通常,如果您正在使用SAP云平台,只需配置指向Netweaver服务器中的服务的目的地(您将需要一个云连接器来从云访问到您的专用网络)。如果您要在其他Netweaver服务器上部署应用程序,我认为最简单的解决方案是将WebDispatcher设置为反向代理。

另一种可能是请求$metadata时出现404错误。如果是这样,这是因为您没有将请求路由到正确的Netweaver系统。确保将WebDispacher配置为将某些URL解析为正确的系统。再一次,大量的教程向你展示了如何做到这一点。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50811957

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档