这是我尝试从本地计算机访问我的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
中答案 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>