Hitachi

Cosminexus V11 アプリケーションサーバ Webサービス開発ガイド


10.18 HTTPレスポンス圧縮機能との連携

HTTPレスポンスボディをgzip圧縮してWebコンテナとWebサービスクライアント間のHTTPレスポンス通信に掛かる時間を削減するApplication Serverの機能をHTTPレスポンス圧縮機能といいます。

JAX-WSエンジンは,HTTPレスポンス圧縮機能と連携できます。HTTPレスポンス圧縮機能と連携するには,Webサービスクライアントからリクエストメッセージを送信する際に,gzip形式で圧縮されたHTTPレスポンスを受信できることを示すHTTPヘッダを付ける必要があります。クライアントアプリケーションでHTTPヘッダを付ける処理を実装してください。

クライアントアプリケーションでの実装例を次に示します。

  Map<String, List<String>> httpHeaders =
    ( Map<String, List<String>> )context.get( MessageContext.HTTP_REQUEST_HEADERS );
  if( null == httpHeaders ){
    httpHeaders = new HashMap<String, List<String>>();
  }
  List<String> acceptEncondings = httpHeaders.get( "Accept-Encoding" );
  if( null == acceptEncondings ){
    acceptEncondings = new ArrayList<String>();
  }
  acceptEncondings.add( "gzip" );
  httpHeaders.put( "Accept-Encoding", acceptEncondings );
  context.put( MessageContext.HTTP_REQUEST_HEADERS, httpHeaders );