问题:
无法从 Flex 向 java-servlet 发送 HTTP“GET”请求。
不断收到此错误消息:[RPC Fault faultString="访问 url 的安全错误" faultCode="Channel.Security.Error" faultDetail="Destination: DefaultHTTP"]
细节:
我已经使用 Flex 为客户端和 Java Web 应用程序(基于 servlet)为服务器端构建了一个国际象棋游戏。
我在我的 PC 上托管 flex-app(使用 HFS ~ HTTP 文件服务器,监听端口 80),并且 java-web-app 也在我的 PC 上运行(在 NetBeans 上使用 glass-fish 监听端口 8080)。
当我在本地运行 flex 应用程序时,从 - D://path-to/flex-app.html - 一切正常,但是,当我从 - 'http://domain-name/flex- 运行 flex 应用程序时app.html' - 我收到上面的错误,服务器上没有记录任何请求。
我试图将 crossdomain.xml 文件添加到服务器根文件夹,即使是最宽松的,也没有成功。
crossdomain.xml 文件(位于“http://localhost:8080/crossdomain.xml”)如下:
<?xml version="1.0"?>
<!DOCTYPE cross-domain-policy SYSTEM "http://www.adobe.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>
<site-control permitted-cross-domain-policies="all" />
<allow-access-from domain="*" to-ports="*" secure="false"/>
<allow-http-request-headers-from domain="*" headers="*"/>
</cross-domain-policy>
在 flex 声明部分我有这个 httpService:
<s:HTTPService id="loginService"
url="http://localhost:8080/Chess/Login"
fault="onFault(event)"
result="login_onResult(event)"
resultFormat="object"
showBusyCursor="true"/>
感谢帮助。