托管SAPUI5应用时$ metadata 404(未找到)

2020-09-17 02:39发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


尊敬的大师

我一直在开发连接到用C#编写的WCF数据服务的SAPUI5应用程序,在开发过程中没有任何问题,直到我开始在本地IIS上托管SAPUI5应用程序之后,我开始在chrome开发人员工具中遇到以下错误 每当我尝试连接到该服务时,$ metadata 404(未找到)

在eclipse中,代码运行没有错误

有人可以指导我如何解决此问题

预先感谢

hosted.jpg (112.1 kB)

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


尊敬的大师

我一直在开发连接到用C#编写的WCF数据服务的SAPUI5应用程序,在开发过程中没有任何问题,直到我开始在本地IIS上托管SAPUI5应用程序之后,我开始在chrome开发人员工具中遇到以下错误 每当我尝试连接到该服务时,$ metadata 404(未找到)

在eclipse中,代码运行没有错误

有人可以指导我如何解决此问题

预先感谢

hosted.jpg (112.1 kB)
付费偷看设置
发送
7条回答
半个程序猿
1楼 · 2020-09-17 02:50.采纳回答

您现在克服了浏览器安全性限制的情况。 UI5应用程序的入口点与odata服务的端点不同。 如果Odata服务和UI5应用程序在同一IIS服务器和端口上运行,则无需在ODataModel中指定服务器和端口。

 var oModel = new sap.ui.model.odata.ODataModel("/img/MIKMOWCFDataService.svc/"); 

如果它们正在不同的服务器/端口组合中运行,则您 应该通过添加一些标头字段来使OData服务跨域启用,例如

 Access-Control-Allow-Origin:http/my.iis.server.domain
 访问控制允许标题:原始,X请求方式,内容类型,接受
 访问控制允许方法:GET,POST PUT,DELETE,OPTIONS
 Access-Control-Allow-Credentials:true 

搜索"如何在Odata .NET服务中启用CORS?"

bbpeas
2楼-- · 2020-09-17 02:50

亲爱的 Jamie 考利

感谢您的快速回复

我使用下面的代码连接到服务

 onInit:function(){
 var oModel = new sap.ui.model.odata.ODataModel(" proxy/http/mikmo.mylocalhost.com/MIKMOWCFDataService.svc/");
 oModel.oHeaders = {
 " DataServiceVersion":" 2.0",
 " MaxDataServiceVersion":" 2.0"
 }
 sap.ui.getCore()。setModel(oModel," groups");
 }
 

我已经将WCF数据服务托管在域名为 mikmo.mylocalhost.com的本地IIS上和端口80

我使用内置代理绕过CORS足够好还是我需要遵循不同的方法

hongfeng1314
3楼-- · 2020-09-17 02:59

在eclipse中,您可能正在使用代理Servlet来调用后端 ,用于防止浏览器安全防护。 在iis中运行时,您必须调整到后端的路径,使其直接连接到后端,这可能会导致浏览器安全问题,具体取决于服务所在的位置,或使用其他代理软件。

Jamie

SAP-技术RIG

me_for_i
4楼-- · 2020-09-17 02:58

亲爱的杰米·考利

从sap.ui.model.odata.ODataModel更改模型后(" proxy/http/ mikmo .mylocalhost.com

到sap.ui.model.odata.ODataModel(" http://mikmo.mylocalhost ...

我遇到以下错误

对预检请求的响应未通过访问控制检查:所请求的资源上不存在" Access-Control-Allow-Origin"标头。 因此,不允许访问源" http://localhost:7575"。 响应的HTTP状态码为501。

任何帮助将不胜感激

Violet凡
5楼-- · 2020-09-17 02:48

要在iis中运行该应用程序,您必须将模型设置为

 sap.ui.model.odata.ODataModel(  " http://mikmo.mylocalhost ... 

问候,

Jamie

SAP-Technology RIG

梦想连接
6楼-- · 2020-09-17 03:06

您 必须为网页和数据源使用相同的域,即http://mikmo.mylocalhost,否则您可以在浏览器中禁用cors安全检查。

问候

Jamie

SAP-技术RIG

SAP浪
7楼-- · 2020-09-17 02:55

嗨,

am试图从我的SAP UI5中的services.odata获取产品表。 我尝试过,但是无法显示其中的数据。 虽然我正在获取行,但是没有数据。

当我尝试F12时,我发现未找到$ metadata。 请帮助以下代码。 预先感谢。

onInit:function(){
//创建模型

var oModel = new sap.ui.model.odata.v2.ODataModel('proxy/http/ services.odata.org/OData/OData.svc /');

var oTable = sap.ui.getCore()。byId('TAB1');

//获取表的模型
oTable.setModel(oModel);
oTable.bindRows("/img/Products");

一周热门 更多>