Silverlight请求Webservice出错问题解决

来源:互联网 发布:python二分法解方程 编辑:程序博客网 时间:2024/06/05 08:21
尝试向 URI“http://localhost:XXXX/XXXXXX.asmx”发出请求时出错。这可能是由于试图以跨域方式访问服务而又没有正确的跨域策略,或策略不适用于 SOAP 服务。您可能需要与该服务的所有者联系,以发布跨域策略文件并确保该文件允许发送 SOAP 相关的 HTTP 标头。出现此错误也可能是由于使用的是 Web 服务代理中的内部类型而没有使用 InternalsVisibleToAttribute 属性。有关详细信息,请参阅内部异常。


Silverlight的数据访问采用Wcf提供数据源.ClientAccessPolicy.xml与CrossDomain.xml是Silverlight解决跨域访问Wcf。

 

解决方法是在同一服务器上部署服务与sl终端(iis站点)或是在webservice服务器的“根”里放两个文件:

----clientaccesspolicy.xml
<?xml version="1.0"encoding="utf-8"?>
<access-policy>
<cross-domain-access>
<policy>
<allow-fromhttp-request-headers="*">
<domain uri="*"/> // 这里写上sl的url,或是*.
</allow-from>
<grant-to>
<resource path="/"include-subpaths="true"/>
</grant-to>
</policy>
</cross-domain-access>
</access-policy>
 -----crossdomain.xml
<?xml version="1.0"?>
<cross-domain-policy>
<allow-access-from domain="*" /> //这里写上sl的url, 或是*.
</cross-domain-policy>

0 0