IONIC |基于SOAP的Web服务|例外:'Access-Control-Allow-Origin'丢失

时间:2015-11-16 11:35:35

标签: angularjs web-services soap ionic-framework ionic

我正在使用IONIC框架开发移动应用程序,我想访问基于SOAP的Web服务,我找到了这个TUTORIAL

我正在访问公开部署的基于肥皂的web-service。我已经在SOAP-UI中测试了所提到的基于SOAP的Web服务,并且我能够访问Web服务,但是当我从离子框架访问相同的Web服务时,它会引发异常:

  

阻止跨源请求:同源策略禁止在http://www.webservicex.net/globalweather.asmx?wsdl读取远程资源。 (原因:缺少CORS标题'Access-Control-Allow-Origin'。

任何人都可以告诉我这是什么问题吗?

2 个答案:

答案 0 :(得分:5)

CORS是在服务器上启用的东西。您必须确保查询服务器发送的标头具有

  

Access-Control-Allow-Origin *;

完成后,应该解决问题。在您的情况下,XML请求被阻止,因为服务器响应中不存在这些标头。

可在此处找到更多信息,http://www.w3.org/wiki/CORS_Enabled

<强> BUT

出于开发目的,您可以尝试在开发阶段使用chrome扩展作为解决方法。

尝试一下: https://chrome.google.com/webstore/detail/allow-control-allow-origi/nlfbmbojpeacfghkpbjhddihlkkiljbi

注意:在制作中,您应该在服务器端启用它。 但在开发过程中,您可以尝试使用插件来禁用安全性。

答案 1 :(得分:0)

这可能是白名单问题。通过以下命令安装离子白名单插件:

ionic plugin add https://github.com/apache/cordova-plugin-whitelist.git

尝试在“config.xml”中将所有网络流量列入白名单:

<allow-navigation href="*" />

你通常不推荐这种做法。

此处有更多信息:http://docs.ionic.io/docs/cordova-whitelist