問題:
Flex から Java サーブレットに HTTP "GET" 要求を送信できません。
次のエラー メッセージが表示され続けます: [RPC Fault faultString="URL にアクセス中のセキュリティ エラー" faultCode="Channel.Security.Error" faultDetail="Destination: DefaultHTTP"]
詳細:
クライアント側に Flex を使用し、サーバー側に Java Web アプリケーション (サーブレットに基づく) を使用してチェス ゲームを作成しました。
PC で flex-app をホストしており (ポート 80 で listen する HFS ~ HTTP ファイル・サーバーを使用)、java-web-app も私の PC で実行しています (ポート 8080 で listen する NetBeans で glass-fish を使用)。
D://path-to/flex-app.html からフレックス アプリをローカルで実行すると、すべて正常に動作しますが、「http://domain-name/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>
フレックス宣言セクションには、次の httpService があります。
<s:HTTPService id="loginService"
url="http://localhost:8080/Chess/Login"
fault="onFault(event)"
result="login_onResult(event)"
resultFormat="object"
showBusyCursor="true"/>
手伝ってくれてありがとう。