1

問題:

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"/>

手伝ってくれてありがとう。

4

0 に答える 0