1

我有一个托管在 IIS 上的 .asmx Web 服务。我获取了服务参考,并从我的 silverlight 应用程序中调用了此 Web 服务。但我收到如下通信异常。

尝试向 URI 'http://test.bookmyshow.com/services/wsDebtorTrans.asmx' 发出请求时出错。这可能是由于在没有适当的跨域策略或不适合 SOAP 服务的策略的情况下尝试以跨域方式访问服务。您可能需要联系服务的所有者以发布跨域策略文件并确保它允许发送与 SOAP 相关的 HTTP 标头。此错误也可能是由于在 Web 服务代理中使用内部类型而不使用 InternalsVisibleToAttribute 属性造成的。有关更多详细信息,请参阅内部异常。

我已将所需的策略文件(clientaccesspolicy.xml 和 crossdomain.xml)添加到我的 Web 服务中。以下是我的 clientaccesspolicy.xml 和 crossdomain.xml 的内容

crossdomain.xml客户端访问策略

我尝试从我的浏览器访问上述两个文件,并且 xml 文件在我的浏览器中正确显示。我用过basicHttpBinding。我在网上看过很多教程并尝试过,但我仍然面临同样的问题。我在这里错过了什么吗?请帮我解决这个问题。

4

1 回答 1

0

只是为了澄清,你只需要一个CrossDomain.xml文件或一个ClientAccessPolicy.xml文件。你不需要两者。另外,你把这些文件放在哪里了?你是放在Services文件夹里,还是放在服务器根目录下?例如,http://test.bookmyshow.com/ClientAccessPolicy.xml而不是http://test.bookmyshow.com/Services/ClientAccessPolicy.xml。该文件应放在应用程序的根目录中,而不是Services文件夹中。

于 2011-05-09T14:28:22.413 回答