后端团队提供了新的Odata服务。我在舱单上声明了它,并在控制器中使用了它。在我的系统中是正确的。但它在任何其他环境中都不能正常工作。我收到一个错误信息-元数据的初始加载失败。还有一些内部服务器错误。
Manifest.json
"ordersq": {
"uri": "/sap/opu/odata/sap/ZOrders_QUEUE_SRV/",
"type": "OData",
"settings": {
"odataVersion": "2.0",
"localUri": "localService/ZOrders_QUEUE_SRV/metadata.xml"
}
},主计长:
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如何为其他服务提供它,而没有为这个新服务添加任何元数据。
发布于 2018-06-12 14:45:04
可能你遇到了CORS的问题。如果您在请求$metadata时有401或403,则请签入网络跟踪。当您试图从不同的服务器加载某些资源时,就会发生这种情况。
这是一个众所周知的共同问题,而且是出于安全原因。有几种方法可以克服这一问题,这些方法都有很好的记录。
通常,如果您正在使用SAP云平台,只需配置指向Netweaver服务器中的服务的目的地(您将需要一个云连接器来从云访问到您的专用网络)。如果您要在其他Netweaver服务器上部署应用程序,我认为最简单的解决方案是将WebDispatcher设置为反向代理。
另一种可能是请求$metadata时出现404错误。如果是这样,这是因为您没有将请求路由到正确的Netweaver系统。确保将WebDispacher配置为将某些URL解析为正确的系统。再一次,大量的教程向你展示了如何做到这一点。
https://stackoverflow.com/questions/50811957
复制相似问题