我在SAP MaxDB - 试用版上的SAP NetWeaver Application Server ABAP 7.4上实现了odata-Service。它托管在Amazon AWS EC2上。 odata是通过事务SEGW实现的。 (我使用了这条指令:http://www.abap-developers.com/2014/07/simple-openui5-application-i-how-to-create-odata-model-using-segw/)
我看到odata服务有效,因为如果我输入AWS Linux外部IP地址并输入凭据 https://52.2.xxx.xxx:50001/sap/opu/odata/sap/ZGW_BUCH_SRV/ $元 我在浏览器中获得有关此odata服务的信息 (我使用https,因为将来会从https网站消费odata)
然后我想用OpenUI5实现它。 在Chrome中,我使用扩展“Allow-Control-Allow-Origin”
要访问我的odata服务,我使用类似的结构:
<!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);
(我不会在高效的情况下使用硬编码密码)。
所以我的代码看起来像这样:
- (void)applicationDidEnterBackground:(UIApplication *)application
{
UIBackgroundTaskIdentifier taskID = [application beginBackgroundTaskWithExpirationHandler:^{
[application endBackgroundTask:taskID];
}];
}
然而,Chrome中的控制台告诉我:
OPTIONS htttps://52.2.xxx.xxx:50001 / SAP / OPU /的OData / SAP / ZGW_BUCH_SRV / $元 401(未经授权)XMLHttpRequest无法加载 htttps://52.2.xxx.xxx:50001 / SAP / OPU /的OData / SAP / ZGW_BUCH_SRV / $的元数据。 预检的响应具有无效的HTTP状态代码401
(我写了https https的https,因为我只能在这里发布有限数量的链接。)
Firefox,Internetexplorer,Edge或Opera也无法访问。 谁能帮帮我呢?
答案 0 :(得分:0)
您的服务器拒绝选项请求 在chrome中,您可以在开发人员工具网络面板中对其进行调试 或者使用像fiddler,tcpdump,wireshark
这样的工具odata要求发送特定标头,以便您的浏览器发送选项 请求包含这些信息,您的浏览器插件可能无法处理这些特殊关键字
您的选择: