在SAPUI5中使用xsodata

2020-09-14 12:50发布

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

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


我尝试在Eclipse的SAPUI5中使用像Odata这样的xsodata服务,但出现一些错误:

无法加载https://.../carimbo.xsodata/$metadata:对预检请求的响应未通过访问控制检查:上没有'Access-Control-Allow-Origin'标头 请求的资源。 因此,不允许访问来源" http://localhost ..."。

2017-09-29 10:09:55.242715 [ODataMetadata]初始加载元数据失败-

无法加载https://.../carimbo.xsodata/Lacamento:对预检请求的响应未通过访问控制检查:上没有'Access-Control-Allow-Origin'标头 要求的资源。 因此,不允许访问来源" http://localhost:..."。

2017-09-29 10:09:55.256280发生以下问题:HTTP请求失败0,

未捕获(已承诺){xmlDoc:文档}

未捕获(已承诺){消息:"未能对'XMLHttpRequest'执行'发送':失败…6.140:4311/HelloWorld/carimbo.xsodata/$ metadata'。",请求:未定义,响应: 未定义}

下面是我的代码。

控制器:

 sap.ui.define([
 'jquery.sap.global',
 'sap/ui/core/mvc/Controller',
 'sap/ui/model/json/JSONModel'
 ],函数(jQuery,控制器,JSONModel){
 "使用严格";


 var ListController = Controller.extend(" sap.m.sample.ListCounter.List",{


 onInit:函数(evt){
 var sServiceUrl =" https://.../carimbo.xsodata";
 var oModel = new sap.ui.model.odata.ODataModel(sServiceUrl,true," user"," pass");


 var oJsonModel = new sap.ui.model.json.JSONModel();


 oModel.read("/img/Lacamento?",null,null,true,function(oData,response){
 oJsonModel.setData(oData);


 });
 sap.ui.getCore()。setModel(oJsonModel);
 this.getView()。setModel(oJsonModel);
 }
 });




 返回ListController;


 });


 

查看

 
 <清单
 headerText ="产品"
 items =" {
 路径:"/img/results"
 }">
 
 
 


 

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

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


我尝试在Eclipse的SAPUI5中使用像Odata这样的xsodata服务,但出现一些错误:

无法加载https://.../carimbo.xsodata/$metadata:对预检请求的响应未通过访问控制检查:上没有'Access-Control-Allow-Origin'标头 请求的资源。 因此,不允许访问来源" http://localhost ..."。

2017-09-29 10:09:55.242715 [ODataMetadata]初始加载元数据失败-

无法加载https://.../carimbo.xsodata/Lacamento:对预检请求的响应未通过访问控制检查:上没有'Access-Control-Allow-Origin'标头 要求的资源。 因此,不允许访问来源" http://localhost:..."。

2017-09-29 10:09:55.256280发生以下问题:HTTP请求失败0,

未捕获(已承诺){xmlDoc:文档}

未捕获(已承诺){消息:"未能对'XMLHttpRequest'执行'发送':失败…6.140:4311/HelloWorld/carimbo.xsodata/$ metadata'。",请求:未定义,响应: 未定义}

下面是我的代码。

控制器:

 sap.ui.define([
 'jquery.sap.global',
 'sap/ui/core/mvc/Controller',
 'sap/ui/model/json/JSONModel'
 ],函数(jQuery,控制器,JSONModel){
 "使用严格";


 var ListController = Controller.extend(" sap.m.sample.ListCounter.List",{


 onInit:函数(evt){
 var sServiceUrl =" https://.../carimbo.xsodata";
 var oModel = new sap.ui.model.odata.ODataModel(sServiceUrl,true," user"," pass");


 var oJsonModel = new sap.ui.model.json.JSONModel();


 oModel.read("/img/Lacamento?",null,null,true,function(oData,response){
 oJsonModel.setData(oData);


 });
 sap.ui.getCore()。setModel(oJsonModel);
 this.getView()。setModel(oJsonModel);
 }
 });




 返回ListController;


 });


 

查看

 
 <清单
 headerText ="产品"
 items =" {
 路径:"/img/results"
 }">
 
 
 


 
付费偷看设置
发送
3条回答
追夢秋陽
1楼-- · 2020-09-14 13:13

你好

您的问题来自CORS问题。 您尝试从另一个域访问URL。

例如您的域为 myapp.mycompany.com ,而您想要该应用 调用这样的网址t hisAPI.anotherdomain.com

这是浏览器禁止的两种解决方案:

1。 使用反向代理

2。 仅限开发人员,请为Chrome使用CORS插件

致谢

bbpeas
2楼-- · 2020-09-14 13:31

Oula !!!! :)对于反向代理,您将需要一个Apache代理服务器(我认为您不会在SAP Cloud Platefrom上进行部署,因为它已经集成了反向代理)

请查看此博客

关于

Aaron 3364
3楼-- · 2020-09-14 13:36

嗨,

请使用凭据创建目标,并通过manifest.json文件中创建的模型进行调用,路径在neoapp.json中定义。

一周热门 更多>