Silverlight调用WebService时出现的跨域方式访问服务

最近在项目中发现Silverlight调用WebService全出现一个跨域方式访问异常,异常信息如下:

 

“这可能是因为在没有适当的跨域策略的情况下试图以跨域方式访问服务,或者是策略不适用于 SOAP 服务。您可能需要与服务所有者联系以发布跨域策略文件,确保策略允许发送与 SOAP 相关的 HTTP 头。请参阅内部异常以了解详细信息。”

 

发现这个问题,一直在虚拟目录下面的东东,尝试了各种方法,因为我的网站下面有很多子网站,所以在这现在部署WebService都是在默认网站下添加的虚拟目录,或是应用程序。


在GOOGLE的过程发现,大部分是需要加一个XML文件,clientaccesspolicy.xml,文件格式什么之类的就不在这里说了。有说要加到webservice所在的目录下,也有说要加在根目录下。我尝试了一下还是不行。我的默认网站和虚拟目录都不在一个目录下,我后来也尝试了将项目COPY到网站的目录下,还是不行。后到搜到一篇文章说,可能是因为虚拟目录的问题,我尝试新建一个网站,使用了另一个端口。然后将clientaccesspolicy.xml文件放到根目录下就可以了。然后使用IP加端口的方式访问,不过因为服务器的系统是SERVER 2008的,IIS是7.0的,在本机可以打开,但是在外网的机器却打不开。查了半天,后来发现是操作系统的防火墙过滤了端口的原因,无语,一通设置后,就可以使用IP加端口访问了。

图就不上了。麻烦。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

y_124882511

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值