我正在尝试以跨域方式与 Apache Web 服务器通信。
我在域的根目录上设置了一个 clientaccesspolicy.xml 文件,当尝试向已设置的 Java servlet 发出 GET 请求时,Silverlight 客户端成功检索到该文件。
具体是这样的:
访问 URL:dev.corp.companyname.com/servlets/targetServlet
clientaccesspolicy.xml 文件如下所示:
<access-policy>
<cross-domain-access>
<policy>
<allow-from http-request-headers ="*">
<domain uri ="http://*" />
</allow-from >
<grant-to >
<resource path ="servlets/targetServlet" include-subpaths ="false"/>
</grant-to>
</policy >
</cross-domain-access>
</access-policy>
我收到带有“安全错误”的常见 SecurityException 作为消息。我假设这意味着 clientaccesspolicy.xml 文件设置正确。
所以这里有几个问题:应该
<domain uri ="http://*" />
是
<domain uri ="*" />
还。应该
<resource path ="servlets/targetServlet" include-subpaths ="false"/>
是
<resource path ="/servlets/targetServlet" include-subpaths ="false"/>