2011-01-12 5 views
0

スタンドアロンのFlexアプリケーションをモジュールに変換しました。これがモジュールなので、ログインしてバックエンドサービスを呼び出すと、セキュリティサンドボックス違反が発生します。フレックスモジュールがセキュリティサンドボックス違反を投げた

ログインハンドラがこのフォールト文字列をスローします。「送信失敗」、「Channel.Connect.Failedエラー」NetConnection.Call.Failed:HTTP:Failed:url: 'http:// myUrl:8080/AppManager/messagebroker/amf 'と入力します。

FBコンソールは、「未処理のセキュリティサンドボックス違反エラー」をスローします。

アプリをモジュールに変換すると、サンドボックス違反が発生する可能性がありますか?

ご協力いただきありがとうございます。

+0

Flexモジュールは、ロードするアプリケーション(SWF)と同じセキュリティドメインに属している必要があるため、AIRアプリケーションでモジュールを使用している場合、モジュールSWFはメインアプリケーションSWFと同じディレクトリに配置する必要があります。メインアプリケーションSWFと同様に、モジュールSWFがAIRアプリケーションセキュリティサンドボックス内にあることを確認するサブディレクトリの1つです。これを確認する1つの方法は、アプリケーションのディレクトリまたはそのサブディレクトリの1つの外をナビゲートするために、モジュールの相対URLに "../"( "1つ上のレベル")表記が不要であることを確認することです。 – shaunhusain

+0

^それはadobe docsのものですが、それはcrossdomain.xmlファイルのリクエストを作成しますが、FirebugやCharlesのデバッグはおそらくもっと細かく何が起こっていないのかを知るのに役立ちます。 – shaunhusain

答えて

1

私はモジュールを大量に使用しており、これに踏み込んでいません。実際にメインモジュールのモジュールのインスタンスを宣言することで修正しなければならなかったメモリの問題があります。インスタンスを作成する必要はなく、リンケージの権利を得るために変数を宣言してから、すべて他のモジュールはそのメインモジュールに対してコンパイルされます。メモリエラーがなくなり、他のすべてのモジュールもずっと小さくなりました。

+0

@shaunhusain:myシェルはモジュールa laを指します:testModuleInfo = ModuleManager.getModule( 'assets/modules/TestModule.swf'); ...私はシェルと同じセキュリティドメインにいると確信しています。しかし、私が問題を抱えているモジュールは、設定URLを新しいURLRequest( './assets/modules/TestConfig.xml'))にロードします。これが問題だろうか?そしてもしそうなら、どのように? – fumeng

+0

ファイルまたはWebサーバーからロードしていますか?メッセージブローカーのメッセージは、通常、BlazeDSなどが含まれていることを意味します。 – mezmo

+0

はい、私はblazedsを使用していて、ファイルはサーバーからロードされています。 – fumeng

関連する問題