1

Internet Explorer (6,7)Flex( ) が を介してHTTPServiceロードされている場合には、既知の問題があります。その場合、Flash Player はスローします。XMLSSLError #2032: Stream Error

Microsoftなどのアドバイスによると、この問題を解決するには、サーバー側で "Cache-Control: no-store" を設定する必要があります。

残念ながら、アプリケーションのバックエンドにアクセスできないため、Flex で解決する必要があります。

私の目標は、実行時に構成を含むxmlファイルをロードすることです。
リクエストのカスタム ヘッダーGETは Flex では許可されていません (間違っている場合はお知らせください)。ということで、リクエストで目的を達成することにしたPOSTところ、意外にもうまくいきました。

これが私が持ってきたコードです:

var httpService:HTTPService = new HTTPService();
httpService.url = 'config.xml';
httpService.method = 'POST';
httpService.requestTimeout = 10;
httpService.contentType = "application/xml";
httpService.headers["Cache-Control"] = "no-store";
httpService.resultFormat = "e4x";
var localResponder:Responder = new Responder(
    function(event:ResultEvent):void {
        //event.result returns the required xml configuration
    },
    function(event:FaultEvent):void {
    });
var token:AsyncToken = httpService.send({});
token.addResponder(localResponder);

私の質問は次のとおりです。リクエストPOSTの代わりにリクエストが送信された場合、副作用はありGETますか?



アップデート:

GET リクエストからヘッダーが取り除かれていることを証明するために、@ Reboog711 によって提供されたコードを使用して、小さなアプリケーションを作成しました。コードは次のとおりです。

<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
               xmlns:s="library://ns.adobe.com/flex/spark" 
               xmlns:mx="library://ns.adobe.com/flex/mx">
    
    <fx:Script>
        <![CDATA[
            import mx.rpc.http.HTTPService;
            
            protected function sendHTTPRequest(event:MouseEvent):void
            {
                var httpService:HTTPService = new HTTPService();
                httpService.url = 'xml.xml';
                var headerData : Object = new Object();
                headerData['Cache-Control'] = 'no-store';
                httpService.headers = headerData;
                httpService.send();
            }
        ]]>
    </fx:Script>
    
    <s:Button label="SEND HTTP REQUEST" 
              horizontalCenter="0" verticalCenter="0" click="sendHTTPRequest(event)"/>
    
</s:Application>

そして、その HTTP リクエストを送信したときに Charles アプリケーションに表示されるのは次のとおりです。

ここに画像の説明を入力

ここで自分でテストできます。さらに、私が自分の問題を解決しようとしている間に、カスタム ヘッダーを使用して GET 要求を送信できないという多くの証拠を見てきました。こちらをご覧ください。

ありがとう!

4

1 に答える 1