Flexアプリケーションでは、j_security_checkフォーム(一般的な認証手段のようです)で認証し、HTTPPOSTリクエストのパラメーターとしてフィールドを指定する必要がj_usernameあります。j_password私は単純なHTTPServiceを使用してこれを行うつもりです(URLLoaderであることがわかっている他のオプションですが、同じ結果が得られます)。jsessionidPOSTリクエストを送信した後、としてを含む応答を待ちSetCookieます。ただし、htmlページが表示されます。これは、を受け取った後にのみ表示されますjsessionid。
HTTPパケットに関して実際にどのように見えるかを次に示します。
[baseurl]/j_security_checkを含むへの私のPOSTリクエストj_usernameとj_passwordjsessionidを含むHTTPステータス302応答SetCookie- アプリケーションから、前のパケットで受信したを含むGETリクエスト(送信していません!) 。
[baseurl]/login.jspjsessionid - ログインに成功したときにWebブラウザで表示する必要があるhtmlページを含むHTTPステータス200応答。
jsessionid認証の手段として、別のSOAPベースのWebサービスで使用する価値が必要です。しかし、私はそれを取得できないようです-Flex HTTPServiceはサイレントに302応答をキャッチし、次のGETを送信します。その後、Cookieはどこにも見つかりません。
..ただし、Cookieは、HTTPServiceインスタンスからこのサーバーへの以降のすべてのリクエストに提供されるため、Flexのどこかに確実にキャッシュされます。
Webサービスで動作するのだろうか。したがって、私の質問:FlexでこのCookieの値を取得するにはどうすればよいですか?