1.10.9. インターセプターを利用するサービス

1.10.9.1. 概要

インターセプターを利用し、HTTPレスポンスのメッセージボディをgzip圧縮するJAX-RS 2.0アプリケーションのサンプルです。 インターセプターの作成方法は [1.2. プログラミング・開発ガイド >1.2.15. RESTful Webサービス >1.2.15.15. インターセプターの作成] で説明しています。

このサンプルでは@NameBindingアノテーションを使用し、 アクセスするURLによってインターセプターの適用/不適用を分けています。

1.10.9.2. 構成


表1.10.9.2-1
Jaxrs20SampleInterceptorプロジェクト インターセプターを使用するサービスのプロジェクトファイル

1.10.9.3. 実行手順

  1. Jaxrs20SampleInterceptor.zip をインポートします。
  2. Jaxrs20SampleInterceptorプロジェクトを右クリックし、実行 > サーバーで実行 を選択します。
  3. Webブラウザから、以下のURLへアクセスします。
    http://localhost/Jaxrs20SampleInterceptor/name_list/0001
  4. Webブラウザがgzip圧縮されていないレスポンスを受け取ります。以下のXMLが表示されます。
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <氏名>
      <姓>田中</姓>
      <名>太郎</名>
    </氏名>
  5. Webブラウザから、以下のURLへアクセスします。
    http://localhost/Jaxrs20SampleInterceptor/gzip_name_list/0001
  6. Webブラウザがgzip圧縮されたレスポンスを受け取ります。以下のXMLが表示されます。
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <氏名>
      <姓>田中</姓>
      <名>太郎</名>
    </氏名>

1.10.9.4. 注意事項

  1. 自動的に追加されたWebOTXサーバーのランタイムが使用されています。サーバー名 は「WebOTX Application Server v9(Local Default)」です。このサーバーが存在しない場合、手動でサーバーを追加する必要があります。追加方法は、 [ アプリケーション開発ガイド(概要) > 1. Developer(with Developer's Studio) > 1.2. 環境設定 > 1.2.4. テスト用サーバの設定 > 1.2.4.1. WebOTXランタイムの設定 ] を参照してください。
  2. サーバーで実行した時にブラウザが立ち上がり、404 メッセージが表示される場合がありますが問題ありません。 そのままhttp://localhost/Jaxrs20SampleInterceptor/name_list/0001にアクセスして下さい。
  3. gzip圧縮非対応のブラウザからhttp://localhost/Jaxrs20SampleInterceptor/gzip_name_list/0001にアクセスすると、画面に文字化けしたXMLが表示されたり、何も表示されなかったりする場合があります。