Hitachi

Cosminexus V11 BPM/ESB基盤 サービスプラットフォーム リファレンス


3.11.3 HTTP受付定義ファイル

〈この項の構成〉

(1) 形式

[urecp-http.context-root=HTTP受付のコンテキストルート]
[urecp-http.max-threads=HTTP受付の最大同時実行スレッド数]
[urecp-http.exclusive-threads=HTTP受付の占有実行スレッド数]
[urecp-http.queue-size=HTTP受付の実行待ちキューのサイズ]
[urecp-http.pooled-instance.minimum=HTTP受付のプール内のインスタンスの最小数]
[urecp-http.pooled-instance.maximum=HTTP受付のプール内のインスタンスの最大数]
[urecp-http.ejb-transaction-timeout=HTTP受付のEJBトランザクションタイムアウト時間]
 
[httprecp.switchover.pass-through.mode={true|false}]
[httprecp.switchover.file-transfer.mode={true|false}]
[httprecp.http.charset={Shift_JIS|UTF-8}]
[httprecp.response.ignore-bodymsg={true|false}]
[httprecp.response.header.filename=HTTPレスポンスヘッダ定義ファイルの名称]
[httprecp.system-exception.status-code=システム例外時のステータスコード]
[httprecp.response.generate.content-length={true|false}]
[httprecp.file-trans.temp-file.partsize-threshold=一時ファイルを出力する閾値サイズ]
[httprecp.file-trans.maxsize.part=受信できるファイルデータの1ファイル当たりの上限サイズ]
[httprecp.file-trans.maxsize.request=受信できるHTTPリクエストボディの上限サイズ]
[httprecp.work-dir.auto-delete={true|false}]
[httprecp.response.download.disposition-type=HTTPレスポンスヘッダのContent-Dispositionヘッダに設定する値]
[httprecp.pass-through.parameter-use={true|false}]
 
[httprecp.request.switchover.json-transfer.mode={true|false}]
[httprecp.response.switchover.json-transfer.mode={true|false}]
 
[httprecp.response.compression.url-pattern<URLパターン識別番号>=リクエストURLのURLパターン]
[httprecp.response.compression.rule<圧縮規則識別番号>.url-mapping<URLマッピング識別番号>=HTTPレスポンス圧縮規則のURLパターン]
[httprecp.response.compression.rule<圧縮規則識別番号>.condition<圧縮条件識別番号>=メディアタイプ:圧縮しきい値]

(2) 機能

HTTP受付の動作情報を設定します。HTTP受付開始時にHTTP受付定義ファイルに設定した内容が有効になります。

HTTP受付定義ファイルは「cscurecphttp.properties」というファイル名で作成します。

(3) ファイルの格納先

<サービスプラットフォームのインストールディレクトリ>\CSC\custom-reception\http\config\templates\cscurecphttp.properties
注意事項

ここに格納されているファイルはテンプレートファイルです。HTTP受付定義ファイルを編集する場合は,HTTP受付の追加時にユーザ定義受付定義画面(詳細)で[独自定義ファイル]の[編集]ボタンをクリックし,定義ファイルの内容を修正してください。

(4) 設定できるプロパティ

(a) HTTP受付関連

urecp-http.context-root=HTTP受付のコンテキストルート 〜<<HTTP受付の受付ID>>

HTTP受付のコンテキストルートを半角英数字および次に示す半角記号で指定します。

  • ハイフン(-)

  • ピリオド(.)

  • アンダーバー(_)

  • 波ダッシュ(~)

  • スラッシュ(/)

  • アットマーク(@)

  • プラス(+)

  • ドル($)

  • 感嘆符(!)

  • 引用符(')

  • 丸括弧(())

  • パーセント(%)

上記以外の文字を指定した場合,および次の場合はエラーとなります。

  • 先頭または末尾に区切り文字(/)が指定されている

  • 区切り文字(/)が多重指定されている

  • 相対パスで指定されている

  • パーセントエンコーディング以外の目的でパーセント(%)が指定されている

このプロパティを省略した場合,HTTP受付の受付IDが設定されます。

urecp-http.max-threads=HTTP受付の最大同時実行スレッド数 〜<数字>((1−1024))<<10>>

HTTP受付の最大同時実行スレッド数を指定します。HTTP受付の占有スレッド数(urecp-http.exclusive-threadsプロパティで指定)以上の値を指定する必要があります。

urecp-http.exclusive-threads=HTTP受付の占有実行スレッド数 〜<数字>((0−1024))<<0>>

HTTP受付の占有実行スレッド数を指定します。HTTP受付の最大同時実行スレッド数(urecp-http.max-threadsプロパティで指定)を超えない範囲で値を指定する必要があります。

urecp-http.queue-size=HTTP受付の実行待ちキューのサイズ 〜<数字>((0−2147483647))<<8192>>

HTTP受付の実行待ちキューのサイズを指定します。

urecp-http.pooled-instance.minimum=HTTP受付のプール内のインスタンスの最小数 〜<数字>((0または1−2147483647))<<0>>

HTTP受付のプール内のインスタンスの最小数を整数で指定します。0を指定した場合,制限はありません。

なお,このプロパティでは,urecp-http.pooled-instance.maximumプロパティの値(HTTP受付のプール内のインスタンスの最大数)以下の値を指定してください。指定した値が,urecp-http.pooled-instance.maximumプロパティで指定した値よりも大きい場合,運用コマンド実行時にエラーになります。

urecp-http.pooled-instance.maximum=HTTP受付のプール内のインスタンスの最大数 〜<数字>((0または1−2147483647))<<0>>

HTTP受付のプール内のインスタンスの最大数を整数で指定します。0を指定した場合,制限はありません。

なお,このプロパティでは,urecp-http.pooled-instance.minimumプロパティの値(HTTP受付のプール内のインスタンスの最小数)以上の値を指定してください。指定した値が,urecp-http.pooled-instance.minimumプロパティで指定した値よりも小さい場合,運用コマンド実行時にエラーになります。

urecp-http.ejb-transaction-timeout=HTTP受付のEJBトランザクションタイムアウト時間 〜<数字>((0または1−2147483647))<<0>>

HTTP受付のEJBトランザクションタイムアウト時間を秒単位で指定します。0を指定した場合,J2EEサーバに設定されたデフォルトのタイムアウト値で動作します。

(b) 受付設定関連

httprecp.switchover.pass-through.mode={true|false} 〜<<false>>

メッセージボディをビジネスプロセスに渡すときのボディ変数を生成するモードを指定します。大文字と小文字は区別されません。

  • true

    パススルーモードを使用します。

  • false

    標準モードを使用します。

httprecp.switchover.file-transfer.mode={true|false} 〜<<false>>

リクエスト受付時にHTTP受付が作業フォルダを作成するかどうかを設定します。大文字と小文字は区別されません。

このプロパティはマルチパート型以外のリクエストに対して有効です。マルチパート型のデータの場合は,必ず作業フォルダが作成されます。

  • true

    リクエストがマルチパート型かどうかに関係なく作業フォルダが必ず作成されます。

  • false

    リクエストがマルチパート型の場合は作業フォルダが生成されます。それ以外の場合,作業フォルダは作成されません。

httprecp.http.charset={Shift_JIS|UTF-8} 〜<<UTF-8>>

メッセージボディとクエリのエンコードに使用する文字コードを指定します。大文字と小文字は区別されません。

httprecp.response.ignore-bodymsg={true|false} 〜<<false>>

ビジネスプロセスから受信した応答電文(ボディ)をHTTP受付が無視する(HTTPレスポンスに設定しない)かどうかを設定します。大文字と小文字は区別されません。

  • true

    応答電文(ボディ)はHTTPレスポンスに設定されません。

  • false

    応答電文(ボディ)はHTTPレスポンスのボディ部分に設定されます。

httprecp.response.header.filename=HTTPレスポンスヘッダ定義ファイルの名称

HTTPレスポンスヘッダ定義ファイルの名称を指定します。大文字と小文字は区別されます。

httprecp.system-exception.status-code=システム例外時のステータスコード 〜<数字>((000−999))<<500>>

システム例外時のステータスコードを3桁の数字で指定します。

httprecp.response.generate.content-length={true|false} 〜<<true>>

HTTP受付でコンテンツ長を生成するかどうかを指定します。大文字と小文字は区別されません。

  • true

    コンテンツ長を生成します。

  • false

    コンテンツ長を生成しません。

httprecp.file-trans.temp-file.partsize-threshold=一時ファイルを出力する閾値サイズ 〜<数字>((0または1−2147483647))<<0>>

マルチパート型のHTTPリクエストの場合に,HTTPリクエストを一時ファイルに出力するときの閾値となるサイズをバイト単位で指定します。

HTTP受付が受信したHTTPリクエストのサイズがこの値を超えた場合,受信したHTTPリクエストは一時ファイルに出力されます。0を指定した場合,一時ファイルは必ず出力されます。

httprecp.file-trans.maxsize.part=受信できるファイルデータの1ファイル当たりの上限サイズ 〜<数字>((0または1−2147483647))<<2147483647>>

HTTP受付で受信できるファイルデータの1ファイル当たりの上限サイズの値をバイト単位で指定します。

HTTP受付が受信したマルチパート型HTTPリクエストの各パートのうち,ファイル形式で扱うパートのサイズがこの値を超えた場合,システム例外が発生します。

httprecp.file-trans.maxsize.request=受信できるHTTPリクエストボディの上限サイズ 〜<数字>((0または1−2147483647))<<2147483647>>

HTTP受付で受信できるHTTPリクエストボディの上限サイズをバイト単位で指定します。

HTTP受付が受信したHTTPリクエストボディのサイズがこの値を超えた場合,システム例外が発生します。

httprecp.work-dir.auto-delete={true|false} 〜<<true>>

処理完了後に作業フォルダを自動的に削除するかどうかを指定します。大文字と小文字は区別されません。

  • true

    ビジネスプロセスの処理が正常に完了したあと,作業フォルダが自動で削除されます。

  • false

    作業フォルダは自動で削除されません。

false以外の値を指定した場合,またはキーや値を省略した場合は,trueと見なされます。ビジネスプロセスが非同期型の場合,このプロパティにはfalseを指定してください。

httprecp.response.download.disposition-type=HTTPレスポンスヘッダのContent-Dispositionヘッダに設定する値 〜<<attachment>>

HTTP受付からHTTPクライアントにデータを送信するときにHTTPレスポンスヘッダのContent-Dispositionヘッダに設定する値を指定します。大文字と小文字は区別されます。なお,指定した値が有効かどうかは検証されません。

このプロパティで設定したヘッダの値は,HTTPクライアントがダウンロードするファイルが1つの場合だけ利用されます。

httprecp.pass-through.parameter-use={true|false} 〜<<true>>

パススルーモードで,HTTPリクエストボディにmsgキーを使用するかどうかを指定します。大文字と小文字は区別されません。

このプロパティは,httprecp.switchover.pass-through.modeプロパティでtrueを指定した場合だけ有効となります。

  • true

    msgキーを使用します。

  • false

    msgキーを使用しません。HTTPリクエストボディの内容が要求電文として直接ビジネスプロセスに渡されます。

(c) JSON-XML変換関連

httprecp.request.switchover.json-transfer.mode={true|false} 〜<<false>>

HTTP受付のリクエスト処理時にJSON-XML変換をするかどうかを指定します。

  • true

    HTTP受付のリクエスト処理時にJSON-XML変換をします。

  • false

    HTTP受付のリクエスト処理時にJSON-XML変換をしません。

httprecp.response.switchover.json-transfer.mode={true|false} 〜<<false>>

HTTP受付のレスポンス処理時にJSON-XML変換をするかどうかを指定します。

  • true

    HTTP受付のレスポンス処理時にJSON-XML変換をします。

  • false

    HTTP受付のレスポンス処理時にJSON-XML変換をしません。

(d) HTTPレスポンス圧縮機能関連

httprecp.response.compression.url-pattern<URLパターン識別番号>=リクエストURLのURLパターン

このプロパティはHTTPレスポンス圧縮機能に関する指定です。

このプロパティは,アプリケーション統合属性ファイルのURLマッピングを指定する<filter-mapping>タグ内の<url-pattern>タグに対応します。アプリケーション統合属性ファイルとHTTPレスポンス圧縮機能については,マニュアル「アプリケーションサーバ 機能解説 互換編」の「9.2 HTTPレスポンス圧縮機能」を参照してください。

指定を省略した場合,HTTPレスポンス圧縮規則の判定は実施されません。また,同じプロパティを指定した場合の動作は保証されません。

<URLパターン識別番号>

1から始まる一意な連番を設定します。連番が途切れた場合,途切れる前までのプロパティが有効となります。

リクエストURLのURLパターン

リクエストURLのコンテキストルートからの相対パスを指定します。

  • 大文字と小文字は区別されます。

  • 複数のURLパターンに該当する場合は,より小さいURLパターン識別番号の設定が適用されます。

  • 「/*」を指定した場合は,すべてのリクエストURLが一致したとみなされます。

リクエストURLがここで設定されたURLパターンに該当する場合,別のプロパティで設定されたHTTPレスポンス圧縮規則に基づいて,圧縮処理をするか判定されます。HTTPレスポンス圧縮規則は次に示すプロパティで設定します。

  • httprecp.response.compression.rule<圧縮規則識別番号>.url-mapping<URLマッピング識別番号>=HTTPレスポンス圧縮規則のURLパターン

  • httprecp.response.compression.rule<圧縮規則識別番号>.condition<圧縮条件識別番号>=メディアタイプ:圧縮しきい値

複数のURLパターンを設定する場合は,異なるURLパターン識別番号を持つプロパティを複数設定してください。

  • 2種類のURLパターンを設定する例

    httprecp.response.compression.url-pattern1=/app1/*
    httprecp.response.compression.url-pattern2=/app2/*

httprecp.response.compression.rule<圧縮規則識別番号>.url-mapping<URLマッピング識別番号>=HTTPレスポンス圧縮規則のURLパターン 〜<</*>>

このプロパティはHTTPレスポンス圧縮機能に関する指定です。

このプロパティは,アプリケーション統合属性ファイルのURLパターンを指定する<hitachi-filter-property><init-param>タグの<param-value>タグに対応します。アプリケーション統合属性ファイルとHTTPレスポンス圧縮機能については,マニュアル「アプリケーションサーバ 機能解説 互換編」の「9.2 HTTPレスポンス圧縮機能」を参照してください。

指定を省略した場合,すべてのリクエストURLが一致したとみなされます。また,同じプロパティを指定した場合の動作は保証されません。

<圧縮規則識別番号>

1から始まる一意な連番を指定します。連番に相当する圧縮規則識別番号がどのプロパティにもない場合は,それ以降のプロパティは無効となります。

HTTPレスポンス圧縮規則としてほかに次に示すプロパティでメディアタイプおよび圧縮しきい値を設定する場合,同じ圧縮規則識別番号を設定してください。

  • httprecp.response.compression.rule<圧縮規則識別番号>.condition<圧縮条件識別番号>=メディアタイプ:圧縮しきい値

<URLマッピング識別番号>

1つの圧縮規則識別番号に対して,1から始まる一意な連番を設定します。連番が途切れた場合,途切れる前までのプロパティが有効となります。

HTTPレスポンス圧縮規則のURLパターン

リクエストURLのコンテキストルートからの相対パスを設定します。

  • 大文字と小文字は区別されます。

  • 複数のURLパターンに該当する場合は,より小さいURLパターン識別番号の設定が適用されます。

  • 「/*」を指定した場合は,すべてのリクエストURLが一致したとみなされます。

圧縮規則識別番号とURLマッピング識別番号を組み合わせることで,複数のHTTPレスポンス圧縮規則を設定できます。

1つのHTTPレスポンス圧縮規則に複数のURLパターンを設定する場合

同じ圧縮規則識別番号で異なるURLマッピング識別番号を持つプロパティを複数設定してください。次の例では,圧縮規則1に対して2種類のURLパターンを設定しています。

httprecp.response.compression.rule1.url-mapping1=/app/dir1/*
httprecp.response.compression.rule1.url-mapping2=/app/dir2/*
複数のHTTPレスポンス圧縮規則を設定する場合

異なる圧縮規則識別番号を持つプロパティを複数設定してください。次の例では,2種類の圧縮規則を設定しています。圧縮規則識別番号が異なるため,URLマッピング識別番号はどちらも開始番号である1になっています。

httprecp.response.compression.rule1.url-mapping1=/app/dir1/*
httprecp.response.compression.rule2.url-mapping1=/app/dir2/*

httprecp.response.compression.rule<圧縮規則識別番号>.condition<圧縮条件識別番号>=メディアタイプ:圧縮しきい値 〜<<*:100>>

このプロパティはHTTPレスポンス圧縮機能に関する指定です。

このプロパティは,アプリケーション統合属性ファイルの圧縮規則を指定する<hitachi-filter-property><init-param>タグの<param-value>タグに対応します。アプリケーション統合属性ファイルとHTTPレスポンス圧縮機能については,マニュアル「アプリケーションサーバ 機能解説 互換編」の「9.2 HTTPレスポンス圧縮機能」を参照してください。

指定を省略した場合,レスポンスボディが100バイトを超えるすべてのメディアタイプのHTTPレスポンスが対象となります。

同じプロパティを指定した場合の動作は保証されません。

<圧縮規則識別番号>

1から始まる一意な連番を指定します。連番に相当する圧縮規則識別番号がどのプロパティにもない場合は,それ以降のプロパティは無効となります。

HTTPレスポンス圧縮規則としてほかに次に示すプロパティでURLパターンを設定する場合は,同じ圧縮規則識別番号を設定してください。

  • httprecp.response.compression.rule<圧縮規則識別番号>.url-mapping<URLマッピング識別番号>=HTTPレスポンス圧縮規則のURLパターン

<圧縮条件識別番号>

1つの圧縮規則識別番号に対して,1から始まる一意な連番を設定します。連番が途切れた場合,途切れる前までのプロパティが有効となります。

メディアタイプ:圧縮しきい値

メディアタイプと圧縮しきい値を半角のコロン(:)で区切って指定してください。

メディアタイプ
  • 大文字と小文字は区別されません。

  • 同じメディアタイプを複数指定した場合は,より大きい圧縮条件識別番号の設定が適用されます。

  • アスタリスク(*)を指定した場合は,すべてのメディアタイプが適用されます。ただし,メディアタイプごとの指定がある場合はその指定が優先されます。

圧縮しきい値
  • 100から2,147,483,647までの整数値(単位:バイト)を設定してください。

圧縮規則識別番号と圧縮条件識別番号を組み合わせることで,複数のHTTPレスポンス圧縮規則を設定できます。

1つのHTTPレスポンス圧縮規則に複数のメディアタイプおよび圧縮しきい値を設定する場合

同じ圧縮規則識別番号で異なる圧縮条件識別番号を持つプロパティを複数設定してください。次の例では,圧縮規則1に対して2種類のメディアタイプおよび圧縮しきい値を設定しています。

httprecp.response.compression.rule1.condition1=text/html:500
httprecp.response.compression.rule1.condition2=*:1000
複数のHTTPレスポンス圧縮規則を設定する場合

異なる圧縮規則識別番号を持つプロパティを複数設定してください。次の例では,2種類の圧縮規則を設定しています。圧縮規則識別番号が異なるため,圧縮条件識別番号はどちらも開始番号である1になっています。

httprecp.response.compression.rule1.condition1=text/html:500
httprecp.response.compression.rule2.condition1=*:1000

(5) 記述例

(a) 記述例1

記述例を次に示します。

urecp-http.max-threads=10
urecp-http.exclusive-threads=0
urecp-http.queue-size=8192
urecp-http.pooled-instance.minimum=0
urecp-http.pooled-instance.maximum=0
urecp-http.ejb-transaction-timeout=0
httprecp.switchover.pass-through.mode=false
httprecp.switchover.file-transfer.mode=false
httprecp.http.charset=UTF-8
httprecp.response.ignore-bodymsg=false
httprecp.response.header.filename=cscurecphttp_header.properties
httprecp.system-exception.status-code=500
httprecp.response.generate.content-length=true
httprecp.request.switchover.json-transfer.mode=true
httprecp.response.switchover.json-transfer.mode=true

(b) 記述例2:レスポンスボディをgzip形式で圧縮する場合

複数の圧縮条件を指定して,レスポンスボディをgzip形式で圧縮する場合の記述例を示します。

# 圧縮対象のHTTPリクエストの設定
httprecp.response.compression.url-pattern1=/app/*
 
# 圧縮規則1
httprecp.response.compression.rule1.url-mapping1=/app/dir1/*
httprecp.response.compression.rule1.condition1=text/html:100
httprecp.response.compression.rule1.condition2=application/pdf:1000
 
# 圧縮規則2
httprecp.response.compression.rule2.url-mapping1=/app/dir2/*
httprecp.response.compression.rule2.url-mapping2=/app/dir3/*
httprecp.response.compression.rule2.condition1=text/html:200

この例では,リクエストURLのコンテキストルートからの相対パスが/app/で始まるHTTPリクエストを圧縮しています。また,次に示す2種類の圧縮規則を設定しています。

  • 圧縮規則1

    • リクエストURLのコンテキストルートからの相対パスが/app/dir1/で始まるHTTPリクエスト

    • メディアタイプがtext/htmlで,HTTPレスポンスのボディサイズが100バイトを超えるHTTPリクエスト

    • メディアタイプがapplication/pdfで,HTTPレスポンスのボディサイズが1000バイトを超えるHTTPリクエスト

  • 圧縮規則2

    • リクエストURLのコンテキストルートからの相対パスが,/app/dir2/または/app/dir3/で始まるHTTPリクエスト

    • メディアタイプがtext/htmlで,HTTPレスポンスのボディサイズが200バイトを超えるHTTPリクエスト