我有一个托管在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和clientaccesspolicy
我尝试从浏览器访问上述两个文件,并在浏览器中正确显示xml文件。我使用了basicHttpBinding。我在网上看过很多教程并试过但是我仍面临同样的问题。我在这里错过了什么吗?请帮我解决这个问题。
答案 0 :(得分:0)
为了澄清,您只需要CrossDomain.xml
个文件或ClientAccessPolicy.xml
个文件。你不需要两者。另外,你把这些文件放在哪里了?你把它放在Services
文件夹中,还是把它放在服务器的根目录下?例如,http://test.bookmyshow.com/ClientAccessPolicy.xml而不是http://test.bookmyshow.com/Services/ClientAccessPolicy.xml。该文件应放在应用程序的Root中,而不是Services
文件夹。