Cosminexus V9 BPM/ESB基盤 サービスプラットフォーム 解説
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形式の電文に変換する際は,データ変換アクティビティなどを使用してデコードする必要があります。
All Rights Reserved. Copyright (C) 2012, 2019, Hitachi, Ltd.