Silverlight 4.0:跨域策略错误

发布于 2024-11-05 04:15:38 字数 1132 浏览 4 评论 0原文

我有一个 Web 服务和一个 Silverlight 应用程序。 我这里还有一个 crossdomain.xml 和 clientaccesspolicy.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>

我的跨域策略

<?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 属性造成的。请参阅内部异常以了解更多详细信息。

请帮忙

I have a webservice and a Silverlight application.
I also have a crossdomain.xml and clientaccesspolicy.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>

My web service is being hosted in IIS.

With this configuration I still have this kind of error:

An error occurred while trying to make a request to URI 'http://localhost/MHVWS/MachineHistoryWS.asmx'. This could be due to attempting to access a service in a cross-domain way without a proper cross-domain policy in place, or a policy that is unsuitable for SOAP services. You may need to contact the owner of the service to publish a cross-domain policy file and to ensure it allows SOAP-related HTTP headers to be sent. This error may also be caused by using internal types in the web service proxy without using the InternalsVisibleToAttribute attribute. Please see the inner exception for more details.

Please help

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

哎呦我呸! 2024-11-12 04:15:38
  • 您只需要一个策略文件。你不需要两者。
  • 确保这些策略文件之一(或两个)与 Web 服务位于同一位置(域)。
  • 要调试并查看发生了什么,请使用 Fiddler 等工具来验证客户端正在查找的策略 xml 文件的 url 路径。
  • You only need one policy file. You dont require both.
  • Be sure one (or both) of those policy files exist in the same location (domain) as the webservice.
  • To debug and see what is going on, use a tool like Fiddler to verify the url path of the policy xml file the client is looking for.
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文