[转]Silverlight中调用远程Web Service的权限问题
写了一个上传文件的Silverlight,其中调用远程WCF来上传文件。调用时候出现如下异常:
尝试请求 URI“http://localhost:30486/FileUpload.svc”时发生错误。这可能是因为在没有适当的跨域策略的情况下试图以跨域方式访问服务,或者是策略不适用于 SOAP 服务。您可能需要与服务所有者联系以发布跨域策略文件,确保策略允许发送与 SOAP 相关的 HTTP 头。
解决方式是在远程WCF的服务器的根目录下创建clientaccesspolicy.xml文件。文件内容如下:
<?xml version="1.0" encoding="utf-8" ?>
<access-policy>
<cross-domain-access>
<policy>
<allow-from http-request-headers="*">
<domain uri="*"/>
</allow-from>
<grant-to>
<resource path="/" include-subpaths="true"/>
</grant-to>
</policy>
</cross-domain-access>
</access-policy>