Cosminexus V9 BPM/ESB基盤 サービスプラットフォーム 解説

[目次][用語][索引][前へ][次へ]

2.13.7 HTTPリクエストとHTTPレスポンスのエンコーディング/デコーディング

HTTPリクエストとHTTPレスポンスのエンコーディングおよびデコーディングの処理について説明します。

HTTPリクエスト時,HTTPレスポンス時,およびシステム例外時に使用される文字コードを次に示します。

HTTPリクエスト時
クエリ文字列およびメッセージボディをデコーディングするための文字コードは,次の方法で指定できます。
  • HTTPリクエストヘッダのContent-Typeヘッダのcharset属性で指定する方法
  • HTTP受付定義ファイルのhttprecp.http.charsetプロパティで指定する方法
HTTPリクエストヘッダとHTTP受付定義ファイルの両方で指定した場合,HTTPリクエストヘッダの指定が優先されます。

HTTPレスポンス時・システム例外時
メッセージボディのエンコーディングに使用される文字コードについては,「2.13.5(2)(a) Content-Typeとcharset」を参照してください。

注意事項
  • URLのデコードとメッセージボディのデコードには同じ文字コードが使用されます。
  • テキストデータとして利用する応答電文(ボディ)のデータは,XML宣言タグのencoding属性で設定した文字コードが,HTTPレスポンスボディとHTTPレスポンスヘッダに設定される文字コードと同じものになります。
  • 次の場合,HTTPヘッダの値はユーザがURLエンコーディングする必要があります。
    ・日本語が含まれるHTTPリクエストヘッダをHTTPクライアントからHTTP受付に送信する場合
    ・応答電文(ヘッダ)に日本語のHTTPレスポンスヘッダが含まれる場合
    ・HTTPレスポンスヘッダ定義ファイルの値に日本語のHTTPレスポンスヘッダが含まれる場合
  • HTTP受付は,HTTPクライアントからのHTTPリクエストをビジネスプロセスに渡すときに,HTTPヘッダの値をエンコードおよびデコードしません。また,ビジネスプロセスからHTTPクライアントに応答を返すときも,HTTPヘッダの値をエンコードおよびデコードしません。
  • パススルーモードの場合,送信する要求電文のXML宣言タグのencoding属性には,必ず「UTF-8」を指定してください。
  • バイナリデータから生成したバイナリ形式または任意形式(any形式)の要求電文をXML形式の電文に変換する際は,データ変換アクティビティなどを使用してデコードする必要があります。