我有一个webservice和一个Silverlight应用程序。我还有crossdomain。xml和clientaccessppolicy。xml
<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>
here my cross domain policy
<?xml version="1.0"?>
<!DOCTYPE cross-domain-policy
SYSTEM "http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>
<allow-access-from domain="http://localhost/MHVWS/MachineHistoryWS.asmx" />
</cross-domain-policy>
我的web服务托管在IIS中。
在这种配置下,我仍然有这样的错误:
尝试向URI 'http://localhost/MHVWS/MachineHistoryWS.asmx'请求时发生错误。这可能是由于试图在没有适当的跨域策略的情况下以跨域的方式访问服务,或者策略不适合SOAP服务。您可能需要联系服务的所有者以发布跨域策略文件,并确保它允许发送与soap相关的HTTP头。此错误也可能是由于在web服务代理中使用内部类型而没有使用InternalsVisibleToAttribute属性造成的。详情请参阅内部异常。
请帮
- 您只需要一个策略文件。
- 确保这些策略文件中的一个(或两个)存在于与web服务相同的位置(域)。
- 要调试并查看发生了什么,请使用Fiddler之类的工具来验证客户端正在寻找的策略xml文件的url路径。