Asp.net 401在sapui5中使用web服务时出错

Asp.net 401在sapui5中使用web服务时出错,asp.net,authentication,fiddler,sapui5,Asp.net,Authentication,Fiddler,Sapui5,我正在通过以下方式将web服务实现到sapui5表中 var oModel = new sap.ui.model.odata.ODataModel("http://mywebservice.com/security.svc", false); sap.ui.getCore().setModel(oModel); 在web浏览器中启动代码并检查元素时,出现以下错误: 加载资源失败:服务器响应状态为401(未授权) XMLHttpRequest无法加载$metadata。请求的资源上不存在“Acc

我正在通过以下方式将web服务实现到sapui5表中

var oModel = new sap.ui.model.odata.ODataModel("http://mywebservice.com/security.svc", false);
sap.ui.getCore().setModel(oModel);
在web浏览器中启动代码并检查元素时,出现以下错误:

加载资源失败:服务器响应状态为401(未授权)

XMLHttpRequest无法加载$metadata。请求的资源上不存在“Access Control Allow Origin”标头。因此,不允许访问源“”。响应的HTTP状态代码为401

我还在Fiddler中测试了它,我得到:

HTTP/1.1 401未经授权
缓存控制:专用
服务器:Microsoft IIS/8.0
设置Cookie:ASP.NET;路径=/;HttpOnly
X-AspNet-Version:4.0.30319
WWW认证:协商
WWW:NTLM
X-Powered-By:ASP.NET
日期:2015年6月9日星期二19:33:51 GMT
内容长度:0
代理支持:基于会话的身份验证


任何关于如何修复401错误的帮助都将不胜感激。

创建一个新的
ODataModel
,它将尝试为您调用的服务获取
元数据。
它基本上是XMLHttpRequest到另一个域(
http://mywebservice.com
)页面(
localhost
)处于打开状态。因此浏览器正在阻止它,因为出于安全原因,它通常允许在同一来源中进行请求。了解

解决方案: 当您想要执行跨域请求时,您需要执行一些不同的操作。 源(包含JavaScript的页面所在的位置)和目标:
http://mywebservice.com
(JavaScript试图到达的地方)域必须完全相同。 关于如何实现这一点的教程正在使用

在.NET server中,您可以在web.config中进行配置,如下所示

 <system.webServer>
   <httpProtocol>
     <customHeaders>
       <add name="Access-Control-Allow-Origin" value="your_clientside_websiteurl" />
     </customHeaders>
   </httpProtocol>
 <system.webServer>

只需在桌面上克隆chrome的快捷方式,然后在快捷方式属性中,在chrome可执行文件路径的末尾添加参数--disable web security 例如 “C:\Program Files\Google\Chrome\Application\Chrome.exe”--禁用web安全

注意:添加该参数--在一个空格后在目标位置禁用web安全性