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

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

2.14.13 HTTPアダプタのJSON-XML変換機能

HTTPアダプタのJSON-XML変換機能とは,HTTPアダプタでXML形式の要求電文をJSON形式に,またはJSON形式の応答電文をXML形式に変換する機能です。

<この項の構成>
(1) HTTPアダプタのJSON-XML変換機能の概要
(2) HTTPアダプタのリクエスト処理時のJSON-XML変換機能
(3) HTTPアダプタのレスポンス処理時のJSON-XML変換機能

(1) HTTPアダプタのJSON-XML変換機能の概要

ビジネスプロセスで扱うXML形式の要求電文を,HTTPアダプタでJSON形式に変換してRESTful Webサービスに送信します。また,RESTful Webサービスから応答されたJSON形式の応答電文をXML形式に変換し,ビジネスプロセスへ応答します。HTTPアダプタのJSON-XML変換機能を使用したサービス部品呼び出し要求および応答の流れを次の図に示します。

図2-130 JSON-XML変換機能を使用したサービス部品呼び出し要求・応答の流れ(HTTPアダプタ)

[図データ]

HTTPアダプタに設定する電文フォーマット(XMLスキーマ)は,JSON変換ツールで生成します。JSON変換ツールは,JSON形式の電文のサンプルを受け取り,JSON-XML変換後のXML形式の電文に適合する電文フォーマットを生成します。HTTPアダプタの開発の流れを次の図に示します。

図2-131 JSON-XML変換機能を使用するHTTPアダプタの開発の流れ

[図データ]

HTTPアダプタの定義の詳細については,マニュアル「サービスプラットフォーム 開発ガイド 受付・アダプタ定義編」の「3.3.13 HTTPアダプタを定義する」を,JSON変換ツールの詳細については,マニュアル「サービスプラットフォーム 開発ガイド 基本開発編」の「12. JSON変換ツールを使用したデータ変換」を参照してください。

(2) HTTPアダプタのリクエスト処理時のJSON-XML変換機能

HTTPアダプタのリクエスト処理時のJSON-XML変換のタイミングや設定について説明します。

(a) HTTPアダプタのリクエスト処理時のJSON-XML変換のタイミング

HTTPアダプタのリクエスト処理時の,JSON-XML変換のタイミングを次の図に示します。

図2-132 リクエスト処理時のJSON-XML変換のタイミング(HTTPアダプタ)

[図データ]

図中の1.〜4.について説明します。

  1. ビジネスプロセスから要求電文を受信します。
  2. データ変換では,ビジネスプロセスから送信されたXML形式の要求電文を扱います。
  3. HTTPアダプタでは,データ変換とコンポーネント共通UOCの呼び出しの間でJSON-XML変換が実行されます。
  4. コンポーネント共通UOCでは,JSON-XML変換機能で変換されたJSON形式の要求電文を扱います。
(b) HTTPアダプタのリクエスト処理時にJSON-XML変換をする場合の設定

HTTPアダプタ定義ファイルのadphttp.request.switchover.json-transfer.modeプロパティの値が「true」の場合は,HTTPアダプタのリクエスト処理時にJSON-XML変換が実行されます。要求電文(ヘッダ)のjson-transfer要素の値が「false」の場合は,HTTPアダプタのリクエスト処理時にJSON-XML変換は実行されません。HTTPアダプタ定義ファイルのプロパティおよび要求電文(ヘッダ)の設定とJSON-XML変換の実行可否を次の表に示します。

表2-74 リクエスト処理時のJSON-XML変換の実行可否(HTTPアダプタ)

HTTPアダプタ定義ファイル
adphttp.request.switchover.json-transfer.modeプロパティ
要求電文(ヘッダ)
json-transfer要素
JSON-XML変換の実行
−(プロパティを設定していない) 要素なし 実行されない
false
true
false 要素なし 実行されない
false
true
true 要素なし 実行される
false 実行されない
true 実行される
(c) HTTPアダプタのHTTPリクエストヘッダに関連する処理

JSON-XML変換機能に関連しているHTTPアダプタのHTTPリクエストヘッダについて説明します。

HTTPアダプタのHTTPリクエストヘッダの処理の詳細については,「2.14.3 HTTPリクエストと要求電文の関係」を参照してください。

Content-Typeヘッダ
JSON-XML変換は,要求電文(ヘッダ)のContent-Typeの設定に関わらず実行されます。また,要求電文(ヘッダ)にContent-Typeが設定されていない場合は,HTTPリクエストヘッダにContent-Typeヘッダが設定されません。

Content-Typeヘッダのcharset属性
要求電文(ヘッダ)のContent-Typeにcharset属性が設定されていない場合は,HTTPリクエストヘッダに設定されるContent-Typeヘッダにcharset属性が設定されません。

(3) HTTPアダプタのレスポンス処理時のJSON-XML変換機能

HTTPアダプタのレスポンス処理時のJSON-XML変換のタイミングや設定について説明します。

(a) HTTPアダプタのレスポンス処理時のJSON-XML変換のタイミング

HTTPアダプタのレスポンス処理時のJSON-XML変換のタイミングを次の図に示します。

図2-133 レスポンス処理時のJSON-XML変換のタイミング(HTTPアダプタ)

[図データ]

図中の1.〜4.について説明します。

  1. HTTPアダプタがRESTful Webサービスから応答電文を受信します。
  2. HTTPアダプタのコンポーネント共通UOCでは,サービス部品から返却されたJSON形式の応答電文を扱います。
  3. HTTPアダプタでは,コンポーネント共通UOCの呼び出しとデータ変換の間でJSON-XML変換が実行されます。
  4. HTTPアダプタのデータ変換では,JSON-XML変換機能で変換されたXML形式の応答電文を扱います。
(b) HTTPアダプタのレスポンス処理時にJSON-XML変換をする場合の設定

HTTPアダプタ定義ファイルのadphttp.response.switchover.json-transfer.modeプロパティの値が「true」の場合,HTTPアダプタのレスポンス処理時にJSON-XML変換が実行されます。応答電文(ヘッダ)では,JSON-XML変換を実行するかどうかの切り替えはできません。HTTPアダプタ定義ファイルのプロパティの設定とJSON-XML変換の実行可否を次の表に示します。

表2-75 レスポンス処理時のJSON-XML変換の実行可否(HTTPアダプタ)

HTTPアダプタ定義ファイル
adphttp.response.switchover.json-transfer.modeプロパティ
JSON-XML変換の実行
−(プロパティを設定していない) 実行されない
false 実行されない
true 実行される
(c) HTTPアダプタのHTTPレスポンスヘッダに関連する処理

JSON-XML変換機能に関連しているHTTPアダプタのHTTPレスポンスヘッダについて説明します。

HTTPアダプタのHTTPレスポンスヘッダの処理の詳細については,マニュアル「サービスプラットフォーム 解説」の「2.14.4 HTTPレスポンスと応答電文の関係」を参照してください。

Content-Typeヘッダについて
JSON-XML変換は,HTTPレスポンスヘッダのContent-Typeヘッダの値に関わらず実行されます。また,Content-TypeヘッダがHTTPレスポンスヘッダに設定されていない場合は,応答電文(ヘッダ)にContent-Typeが設定されません。

Content-Typeヘッダのcharset属性について
HTTPレスポンスヘッダのContent-Typeヘッダにcharset属性が設定されていない場合は,応答電文(ヘッダ)のcharset属性が設定されません。