最近在用Flex做一个项目,在本机调试一切正常,传到服务器上之后出现如下错误:
[RPC Fault faultString="Security error accessing url"
faultCode="Channel.Security.Error"
faultDetail="Unable to load WSDL.
查明是swf文件跨域访问安全机制的问题,最简单的解决办法就是在所调用的webservice服务器的根目录上加上一个策略文件,默认名为crossdomain.xml内容如下:
<?xml version="1.0"?>
<cross-domain-policy>
<allow-access-from domain="*" />
</cross-domain-policy>
同样也可以在代码中调用
flash.system.Security.loadPolicyFile(http://mydomain/crossdomain.xml);方法来加载策略文件。加上策略文件之后,以为这下应该没有可以了,但不幸的是又出现新的错误,这次错误信息有所不同,但同样和跨域访问有关系,错误如下:
[RPC Fault faultString="Security error accessing url"
faultCode="Channel.Security.Error"
faultDetail="Destination: DefaultHTTP"]
最后发现是flash播放器版本更新成9.0.124之后,对安全方面有很多的改变,所以造成了这种错误的出现,解决办法也很简单,在原来的crossdomain.xml文件中加入以下代码即可
<allow-http-request-headers-from domain="*" headers="*"/>
关于flash player 9.0.124版本的安全方面的改变可以以下参考adobe的文档
http://www.adobe.com/devnet/flashplayer/articles/flash_player9_security_update.html
http://kb.adobe.com/selfservice/viewContent.do?externalId=kb403185&sliceId=2
分享到:
相关推荐
eclipse环境下集成flex之后调用webservice的相关资源
jquery跨域调用webservice,采用jsonp,在webservice返回端采用HttpContext.Current.Response.Write返回json格式。,回调函数返回执行结果。
eclipse和flex集成环境下的
eclipse和flex集成环境下的
--此节点可允许脚本跨域调用webservice--> <!--此节点可允许脚本跨域调用webservice--> 步骤2. webservice代码 using System; using System.Collections.Generic; using System.L
flex 跨域访问问题, flex不在同一个域,解决办法
主要介绍了 ajax跨域调用webservice服务例子和理解,最近ajax访问webservice遇到跨域的问题,网上搜索资料,总结如下
jquery跨域调用,js跨域调用,jsonp,跨域调用
flex 跨域访问文件,安全沙相问题,很有用的,放在iis里就行了
Flex跨域问题,对于Flash Player 而言,crossdomain.xml文件内容出现了较大的变化,原因是Flash Player 9的security机制有所改变。所以当我用Flex 3调用cross domain的web service时,还使用上面的crossdomain.xml...
ajax跨域请求调用webservice接口+视频教程,上次的不带视频教程,这次带一个视频教程,一个流程下来,想学不会都很难!
本实例是JS跨域调用webservice!
ajax跨域请求WebService.asmx,程序非常完美的跑起来了。辛苦了一下午整理出来的。怕的就是以后自己忘记了。
ASP.NET配合jQuery解决跨域调用的问题
摘要:Ajax 在 Web 2.0 时代起着非常重要的作用,然而有时因为同源策略 (SOP)(俗称:跨域问题(cross domain)) 它的作用会受到限制。在本文中,将学习如何克服合作限制。本文以asmx方式搭建webservice作为测试用...
在做Web开发中,常常会遇到跨域的问题,到目前为止,已经有非常多的跨域解决方案...下面这篇文章主要给大家介绍了关于ASP.net WebAPI跨域调用问题的解决方法,文中通过示例代码介绍的非常详细,需要的朋友可以参考下。
JS调用WCF服务实例(WCF服务宿主到控制台),解决Js跨域调用问题 源码实例 wcf宿主到控制台上,并内置js调用服务的源码
ajax跨域调用webservice实现文件上传,项目使用vs2019创建,请示用vs2019以上版本工具进行打开。