为什么我的Silverlight客户端在切换到SSL时找不到clientaccesspolicy文件?
我已经开发了一个Silverlight客户端,它在常规HTTP上运行良好,但现在我正试图让它在SSL上运行,我得到以下错误: 尝试向URI[URL已删除以确保安全]发出请求时出错。这可能是由于尝试在没有适当的跨域策略的情况下以跨域方式访问服务,或者是由于策略不适合SOAP服务。您可能需要联系服务的所有者以发布跨域策略文件,并确保它允许发送与SOAP相关的HTTP头。此错误也可能是由于在web服务代理中使用内部类型而未使用InternalsVisibleToAttribute属性造成的。有关详细信息,请参阅内部异常 我正在使用以下clientaccesspolicy:为什么我的Silverlight客户端在切换到SSL时找不到clientaccesspolicy文件?,silverlight,ssl,https,Silverlight,Ssl,Https,我已经开发了一个Silverlight客户端,它在常规HTTP上运行良好,但现在我正试图让它在SSL上运行,我得到以下错误: 尝试向URI[URL已删除以确保安全]发出请求时出错。这可能是由于尝试在没有适当的跨域策略的情况下以跨域方式访问服务,或者是由于策略不适合SOAP服务。您可能需要联系服务的所有者以发布跨域策略文件,并确保它允许发送与SOAP相关的HTTP头。此错误也可能是由于在web服务代理中使用内部类型而未使用InternalsVisibleToAttribute属性造成的。有关详细信
<access-policy>
<cross-domain-access>
<policy>
<allow-from http-request-headers="*">
<domain uri="http://*"/>
<domain uri="https://*"/>
</allow-from>
<grant-to>
<resource path="/" include-subpaths="true"/>
</grant-to>
</policy>
</cross-domain-access>
</access-policy>
你知道是什么导致了这个错误吗?我认为你的客户端访问策略中缺少了一个小项目。允许来自http请求的标题应为=“SOAPAction” 试试这个
<access-policy>
<cross-domain-access>
<policy>
<allow-from http-request-headers="SOAPAction">
<domain uri="http://*"/>
<domain uri="https://*"/>
</allow-from>
<grant-to>
<resource path="/" include-subpaths="true"/>
</grant-to>
</policy>
</cross-domain-access>
</access-policy>
这是因为当您通过不同的协议向您的站点发出请求时,clientaccesspolicy.xml文件。它未下载,请使用任何调试工具在浏览器中检查,并查看此文件并检查是否已下载如果您在浏览器中运行Silverlight应用程序,则如果SSL证书不受信任,浏览器可能会中止连接。如果手动导航到clientaccesspolicy.xml文件(即
https://localhost/clientaccesspolicy.xml
)您可以在浏览器中添加受信任的证书。谁签署了证书?如果它不是来自受信任的CA,则可能是问题所在。