使用silverlight消费asp.net webservice时出错

时间:2014-03-23 20:55:00

标签: c# asp.net web-services silverlight

这是我尝试从本地计算机访问我的Web服务时遇到的错误。

“尝试向URI”http://reddyincv-001-site1.myasp.net/WebService1.asmx“发出请求时出错。这可能是由于尝试以跨域方式访问服务而没有适当的跨域策略,或者一个不适合SOAP服务的策略。您可能需要联系该服务的所有者以发布跨域策略文件,并确保它允许发送与SOAP相关的HTTP头。此错误也可能是由于使用内部错误引起的Web服务代理中的类型,不使用InternalsVisibleToAttribute属性。有关更多详细信息,请参阅内部异常。“

我有2个xml文件clientaccesspolicy.xml

<?xml version="1.0" encoding="utf-8" ? >
 <access-policy>
 <cross-domain-access>
<policy>
  <allow-from>
    <domain url="*"></domain>
  </allow-from>
  <grant-to>
    <resource include-subpaths="true" path="/"></resource>
  </grant-to>
</policy>

和crossdomain.xml

  <?xml version="1.0" encoding="utf-8" ?> <!DOCTYPE cross-domain-policy SYSTEM 
   "http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd">
   <cross-domain-policy>
   <allow-http-request-headers-from domain="*" headers="SOAPAction,Content-Type"/>
   </cross-domain-policy>

这些文件位于根目录“http://reddyincv-001-site1.myasp.net/clientaccesspolicy.xml n

1 个答案:

答案 0 :(得分:1)

在ClientAccessPolicy.xml中,更改allow-from属性以添加特定的http-request-headers ...如下所示:

<?xml version="1.0" encoding="UTF-8"?>
  <access-policy>
    <cross-domain-access>
      <policy>
        <allow-from http-request-headers="SOAPAction">
          <domain uri="*"/>
        </allow-from>
        <grant-to>
          <resource include-subpaths="true" path="/"/>
        </grant-to>
      </policy>
    </cross-domain-access>
  </access-policy>