WebSphere Message Broker バージョン 8.0.0.5 オペレーティング・システム: AIX、HP-Itanium、Linux、Solaris、Windows、z/OS

製品の最新バージョンについては、IBM Integration Bus バージョン 9.0 をご覧ください。

SOAP 本体内の派生タイプの構成

メッセージ・マップで、基本タイプを派生タイプ、つまり、拡張タイプにキャストして、データ・タイプのサブタイプ間の変換を定義できるようにします。

始める前に

メッセージ・マップで、SOAP 本体エレメント SaveAddress をキャストします。個別タイプへの SOAP 本体のキャストに略述されているステップを実行します。

メッセージ・マップの入力「メッセージ・アセンブリー」は、以下の図のようになります。

この図は、入力オブジェクトに含まれている「SaveAddress」エレメントを含むメッセージ・マップを示しています。

このタスクについて

派生タイプ は、基本タイプまたはスーパータイプとして知られている別のデータ・タイプに関連したデータ・タイプです。

このシナリオでは、Address が基本タイプ、USAddressCanadianAddress、および UKAddressAddress の派生タイプです。

住所を保存する要求がカナダ、米国、および英国からくる場合があります。住所の表記は国ごとに異なり、例えば、カナダの場合、住所には州 (province) が含まれます。AddressBook サービスは、住所用の共通の複合構造を使用して、単一の場所にすべての住所を保管します。

手順

以下のステップを実行して、Address 基本タイプを派生タイプにキャストして、さまざまな国の住所を共通の複合住所タイプにマップできるようにします。

  1. 「Address」を選択します。
  2. 「Address」を右クリックして、「キャスト」を選択します。
    この図は、基本タイプ「Address」をキャストする方法をわかりやすく示しています。「Address」を右クリックして、「キャスト」を選択します。
  3. 「タイプの選択」ウィンドウで、一致するタイプを選択し、「OK」を選択します。

    選択可能なオプションは、「Address」を基本タイプとして使用してモデル化されたスキーマ・モデル内の個別の住所タイプに対応しています。

    表示される「タイプの選択」ウィンドウを以下の図に示します。

    この図は、「キャスト...」を選択すると開く「タイプの選択」ウィンドウを示しています。
    1. オプション: 「アプリケーション開発」ビューでスキーマ・モデルを確認します。 「リソース」 > 「スキーマ定義 (Schema definitions)」 > 「http://addressbook.com」の下にある「AddressBook」サービスを選択します。
      この図は、「アプリケーション開発」ビュー内の「AddressBook」サービス構造を示しています。 addresses.xsd ファイルが赤の四角で囲まれています。

タスクの結果

メッセージ・マップに 2 つの Address 項目が含まれます。1 つは基本タイプ Address に相当します。もう 1 つの項目は、派生タイプ CanadianAddress の Address に相当します。

この図は、2 つの Address 項目を含むメッセージ・マップを示しており、1 つは基本タイプのもので、もう 1 つは CanadianAddress 派生タイプのものです。

次のタスク

  1. このステップを繰り返して、派生タイプ UKAddress および USAddress を追加します。すべての派生住所を追加した後のメッセージ・マップの入力オブジェクトを以下の図に示します。
    この図は、すべての派生住所を追加した後のメッセージ・マップの入力オブジェクトを示しています。
  2. SOAP 本体のエレメント間の条件付き変換を定義します。 詳しくは、メッセージ・マップでの If、Else if、および Else 変換の構成を参照してください。