Webサービスにも必要なセッション管理パソコンで試してわかるWebサービス(5)(2/5 ページ)

» 2002年12月10日 00時00分 公開
[イチロー樋口研究室監修]

Sessionスコープの動きをTCPモニタで確認

 第4回の宿題として、スコープにSessionを指定して実行することを課題にしました。期待通りに動作しなかったはずです。期待通りに動作させるには何が必要か解けましたか? 前回のヒントを基に解析していきましょう。前回の宿題のヒントは次のようなものでした。

  宿題のヒント

 

(1)WebブラウザでServlet/JSPにアクセスしてセッションを保持するには何を利用しますか?

 

(2)TCPモニタを見ると「request」「application」スコープのときと比べて何が異なりますか?

 

(3)スコープの変更以外にもう1つ変更が必要です

 


 まず、(1)(2)を一緒に見ていきましょう。前回にならって(2)のTCPモニタを使って解析してみましょう。詳しいTCPモニタの起動方法は第4回を参照してください。

 毎度のことになりますが、MS-DOSコマンドプロンプトで、Axis用の環境変数設定バッチファイルを起動してください。まずは、sessionスコープ用の配置記述子ファイルを作成します。ファイル名はSimpleAddService_session.wsddとします。

 このファイルが準備できたら、前回作成した「undeploy.wsdd」と併せて下記のように実行します。

>java org.apache.axis.client.AdminClient undeploy.wsdd
- Processing file undeploy.wsdd
<Admin>Done processing</Admin>

>java org.apache.axis.client.AdminClient SimpleAddService_session.wsdd
- Processing file SimpleAddService_application.wsdd
<Admin>Done processing</Admin>

 配置が完了したら、TCPモニタを動かした状態で、宿題プログラムを実行してみましょう。

>java atmarkit.SimpleAddClient 1 5 http://localhost:8081/axis/servlet/AxisServlet
0
0

 TCPモニタでSOAPを捕獲できましたか? 捕獲できたら、赤線の囲みに注目してください。

画面1 ほかのスコープにはない「Set-Cookie」という項目が現れる 画面1 ほかのスコープにはない「Set-Cookie」という項目が現れる

 下のウィンドウはSOAPの「応答」を表示しています。HTTPヘッダにほかのスコープにはなかった「Set-Cookie」という項目が現れているはずです。6回のSOAPの要求/応答で、この「Set-Cookie」がどのように変わっているかを確認してください。

画面2 6回のSOAPの要求/応答での「Set-Cookie」の変化 画面2 6回のSOAPの要求/応答での「Set-Cookie」の変化

 6回の要求/応答それぞれで「Set-Cookie」の値が変化していることに気付きましたか? これは何を意味するのでしょうか?

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。