Amazon ec2 使用openui5使用AmazonAWS(ABAP7.4MaxDB)上托管的odata

Amazon ec2 使用openui5使用AmazonAWS(ABAP7.4MaxDB)上托管的odata,amazon-ec2,odata,sapui5,Amazon Ec2,Odata,Sapui5,我在SAP MaxDB-试用版的SAP NetWeaver应用服务器ABAP 7.4上实现了odata服务。它托管在Amazon AWS EC2上。 odata是通过事务SEGW实现的。 (我使用了以下说明:) 我看到odata服务可以工作,因为如果我输入AWS Linux外部IP地址并在 $metadata 我在浏览器中获取有关此odata服务的信息 (我使用https,因为odata将来将从https站点使用) 然后我想用OpenUI5实现它。 在Chrome中,我使用扩展名“Allow C

我在SAP MaxDB-试用版的SAP NetWeaver应用服务器ABAP 7.4上实现了odata服务。它托管在Amazon AWS EC2上。 odata是通过事务SEGW实现的。 (我使用了以下说明:)

我看到odata服务可以工作,因为如果我输入AWS Linux外部IP地址并在 $metadata 我在浏览器中获取有关此odata服务的信息 (我使用https,因为odata将来将从https站点使用)

然后我想用OpenUI5实现它。 在Chrome中,我使用扩展名“Allow Control Allow Origin”

为了访问我的odata服务,我使用了如下类似的结构:

var url = "http://someurl/SERVICE";
var username = "username";
var password = "password";
var oModel = new sap.ui.model.odata.ODataModel(url, true, username, password);
(在生产性场景中,我不会使用硬编码密码)

因此,我的代码如下所示:

<!DOCTYPE HTML>
<html>
    <head>
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta http-equiv='Content-Type' content='text/html;charset=UTF-8'/>

        <script src="/js/openui5/resources/sap-ui-core.js"
                id="sap-ui-bootstrap"
                data-sap-ui-libs="sap.ui.commons, sap.ui.table"
                data-sap-ui-theme="sap_bluecrystal">
        </script>

        <script>            

            // setting up model
            var oModel = new sap.ui.model.odata.ODataModel("https://52.2.xxx.xxx:50001/sap/opu/odata/sap/ZGW_BUCH_SRV/", false, "AAA", "BBB");

            sap.ui.getCore().setModel(oModel);

//建立模型
var oModel=new sap.ui.model.odata.ODataModel(“https://52.2.xxx.xxx:50001/sap/opu/odata/sap/ZGW_BUCH_SRV/,假,“AAA”,“BBB”);
sap.ui.getCore().setModel(oModel);
然而,Chrome中的控制台向我显示:

选择权 htttps://52.2.xxx.xxx:50001/sap/opu/odata/sap/ZGW_BUCH_SRV/$metadata 401(未经授权)XMLHttpRequest无法加载 htttps://52.2.xxx.xxx:50001/sap/opu/odata/sap/ZGW_BUCH_SRV/$metadata。 飞行前的响应具有无效的HTTP状态代码401

(我写了https的htttps intead,因为我只能在这里发布有限数量的链接。)

在Firefox、Internetexplorer、Edge或Opera中也无法访问。
谁能在这里帮助我?

您的服务器拒绝了选项请求 在chrome中,您可以在开发者工具网络面板中调试它 或者使用诸如fiddler、tcpdump、wireshark之类的工具

odata要求发送特定的标题,以便浏览器发送选项 请求这些信息,您的浏览器插件可能无法处理这些特殊关键字

您的选择:

  • (最佳)配置您的服务器以处理cors,更多信息:,我无法向您发送配置,因为它依赖于服务器
  • 使用cors创建一个代理

  • 谢谢加博,我非常感谢你的帮助。我从开发者工具得到了信息。您是否有在Amazon AWS上设置服务器的经验?