Business Integration Connect には Attachment Data Handler が用意されており、これによって、Business Integration Connect と InterChange Server との間で送信される文書を処理できます。Attachment Data Handler は、XML トランスポート・エンベロープの内部で (添付ファイルのある場合もない場合も)、直列化形式とビジネス・オブジェクト表現との間で文書の形式を変換します。
次のいずれかの場合は、Attachment Data Handler をペイロード・データ・ハンドラーとして構成してください。
このフラグを「はい」に設定すると、Business Integration Connect は、文書に添付ファイルがあるかどうかにかかわらず、その文書を必ず XML トランスポート・エンベロープでラップします。バックエンド統合パッケージ化のこのフラグを「はい」に設定するのは、プロファイルの「B2B 機能」画面での操作の一環としてです。詳細については、ペイロードを参照してください。
文書に添付ファイルが含まれていると、Business Integration Connect は、この文書を XML トランスポート・エンベロープでラップします。文書フローには、ペイロードが 1 つあり、必要に応じて複数の添付ファイルが存在します。添付ファイルが含まれる文書を送信または受信する場合、ペイロード・ビジネス・オブジェクトには、添付ファイルの情報が格納されている必要があります。
Attachment Data Handler は、次のいずれかの状況で呼び出される可能性があります。
Business Integration Connect および 4.2.2 以前のバージョン の InterChange Server がイベント通知 に参加する場合 (Business Integration Connect が要求を開始) は、WebSphere Business Integration Connect サーブレット (アクセス・クライアント) が文書を Server Access に送信します。次に Server Acces が Wrapper Data Handler を呼び出して、文書をビジネス・オブジェクト表現に変換します。この文書が XML トランスポート・エンベロープでラップされている場合は、Wrapper Data Handler が Attachment Data Handler を呼び出して、(文書の XML トランスポート・エンベロープ内部に存在する) 文書の直列化形式を、対応するビジネス・オブジェクトに変換します。
呼び出し側のエンティティーがアダプターであるか Server Access であるかにかかわらず、呼び出し側のエンティティーは、XML トランスポート・エンベロープに格納された文書を受信すると、Attachment Data Handler を呼び出して、この文書をその適切なビジネス・オブジェクト表現に変換します。例えば、図 20 には、文書の直列化形式を文書のビジネス・オブジェクト表現に変換するために Attachment Data Handler を呼び出している Adapter for JMS が示されています。反対に、呼び出し側のエンティティーは、XML トランスポート・エンベロープに格納された文書のビジネス・オブジェクト表現を受信すると、Attachment Data Handler を呼び出して、このビジネス・オブジェクト構造を、その適切な文書形式に変換します。例えば、図 21 には、文書のビジネス・オブジェクト表現を文書の直列化形式に変換するために Attachment Data Handler を呼び出している Adapter for JMS が示されています。
このセクションでは、Attachment Data Handler に関する次の内容について説明します。
Attachment Data Handler は、この XML トランスポート・エンベロープの構造を解釈して、内部に格納されているデータと、対応するビジネス・オブジェクト表現との間の変換を次のように処理します。
Business Integration Connect は、文書を InterChange Server に送信する前に、その内容を XML トランスポート・エンベロープでラップするかどうかを判別する必要があります。Business Integration Connect がトランスポート・エンベロープを作成した場合、ペイロードおよび添付ファイルは Base64 方式でエンコードされます。Business Integration Connect は、次に、XML トランスポート・エンベロープを、適切なトランスポート・レベルのヘッダーが付いた適切な ICS 互換コンポーネントに変換します。この ICS 互換コンポーネント (WebSphere Business Integration Adapter または Wrapper Data Handler) を構成して Attachment Data Handler を呼び出すと、XML でラップされた文書内にあるペイロードや添付ファイルから、対応するビジネス・オブジェクト表現への変換を処理できます。
XML トランスポート・エンベロープでラップされた文書をそのビジネス・オブジェクト表現に変換するため、呼び出し側のエンティティーは、Attachment Data Handler のインスタンスを生成して、それを (トランスポート・エンベロープ内にある) 文書に渡します。次に、Attachment Data Handler は、以下の手順を実行します。
コンテンツ・タイプ・マップは、子メタオブジェクトの ContentTypeMap_x 構成プロパティーで定義されます。子メタオブジェクトは、Attachment Data Handler の構成情報を含むビジネス・オブジェクトです。このビジネス・オブジェクト内の属性は、コンテンツ・タイプ・マップをコンテンツ・タイプに関連付けます。詳細については、Attachment 子メタオブジェクトの作成を参照してください。
文書には、ペイロードのみが格納されています。このペイロードは、Attachment Data Handler によって、その関連ビジネス・オブジェクト表現に変換する必要があります。詳細については、トランスポート・エンベロープ内に存在しない文書の処理を参照してください。
文書には、ペイロードと、場合によりいくつかの添付ファイルが格納されています。したがって Attachment Data Handler は、ペイロードおよび 添付ファイルを、その関連ビジネス・オブジェクト表現に変換する必要があります。詳細については、トランスポート・エンベロープ内にある文書の処理を参照してください。
Attachment Data Handler は、XML トランスポート・エンベロープ内に文書が格納されていない と判断した場合、このエンベロープ構造からペイロード・データを抽出する必要はありません。このため、Attachment Data Handler は、(その子メタオブジェクト内に定義されている) PayloadDataHandlerMimeType 構成プロパティーを使用して、デフォルトのペイロード・データ・ハンドラーを示す MIME タイプを取得し、文書ペイロードのインスタンスを生成します。このデータ・ハンドラーは、ペイロード・データをこれに対応するペイロード・ビジネス・オブジェクトに変換し、得られたペイロード・ビジネス・オブジェクトをその呼び出し側のエンティティーに戻します。
Attachment Data Handler は、XML トランスポート・エンベロープ内に文書が格納されていると判断した場合、ペイロードと添付ファイルを処理するために、先にこのエンベロープ構造からペイロードと添付ファイルを抽出する必要があります。このため、Attachment Data Handler は、次の手順に従って文書の処理および変換を実行します。
ペイロードは、<payload> XML タグ内に含まれています。各添付ファイルは、<attachment> XML タグで囲まれています。
一致したコンテンツ・タイプ・マップに指定されている MIME タイプを使用して、データ・ハンドラーのインスタンスを生成します。このデータ・ハンドラーは、ペイロード・データをこれに対応するペイロード・ビジネス・オブジェクトに変換し、得られたビジネス・オブジェクトを Attachment Data Handler に戻します。
ペイロード・ビジネス・オブジェクト定義のビジネス・オブジェクト・レベルのアプリケーション固有情報を調べ、属性名が cw_mo_bcg_content_info タグで指定される、コンテンツ情報ビジネス・オブジェクトの名前を決定します。このコンテンツ情報ビジネス・オブジェクトのインスタンスを生成して、ペイロードのコンテンツ・タイプとエンコード方式について値を設定します。
ペイロード・ビジネス・オブジェクトのビジネス・オブジェクト・レベルのアプリケーション固有情報を調べ、属性名が cw_mo_bcg_attachment タグで指定される、添付ファイル・コンテナー・ビジネス・オブジェクトの名前を決定します。添付ファイル・コンテナー・ビジネス・オブジェクトのインスタンスを生成して、ペイロード・ビジネス・オブジェクトの適切な属性に保管します。
cw_mo_bcg_attachment タグが存在しない (または空である) 場合は、文書に添付ファイルが格納されていないものとみなします。したがって、これ以上の処理ステップは必要ありません。Attachment Data Handler は、変換済みのペイロード・ビジネス・オブジェクトを戻します。
添付ファイル・コンテナー・ビジネス・オブジェクトのビジネス・オブジェクト・レベルのアプリケーション固有情報を調べ、属性名が cw_mo_bcg_default_attribute タグで指定される、デフォルト添付ファイル・ビジネス・オブジェクトの名前を決定します。デフォルト添付ファイル・ビジネス・オブジェクトのインスタンスを生成して、添付ファイル・コンテナー・ビジネス・オブジェクトの適切な属性に保管します。
添付ファイルからコンテンツ・タイプと文字セットのエンコード方式を取得して、コンテンツ・タイプ・マップ内に対応する項目があるかどうかを調べます。
このため Attachment Data Handler は、デフォルト添付ファイル・ビジネス・オブジェクトのインスタンスを生成し、コンテンツ情報ビジネス・オブジェクトの内部にコンテンツ・タイプとエンコード方式の値を設定して、Base64 方式でエンコードされた添付ファイル・データを (ストリングとして) attachment 属性に設定します。
Attachment Data Handler は、次に、デフォルト添付ファイル・ビジネス・オブジェクトのデータを添付ファイル・コンテナー・ビジネス・オブジェクトに取り込みます。
Attachment Data Handler は、次に、デフォルト添付ファイル・ビジネス・オブジェクトのデータを添付ファイル・コンテナー・ビジネス・オブジェクトに取り込みます。
Attachment Data Handler は、次に添付ファイル・ビジネス・オブジェクト定義のビジネス・オブジェクト・レベルのアプリケーション固有情報を調べ、属性名が cw_mo_bcg_content_info タグで指定される、コンテンツ情報ビジネス・オブジェクトの名前を決定します。このタグが存在する場合、Attachment Data Handler は、添付ファイルに対してコンテンツ情報ビジネス・オブジェクトを作成し、添付ファイルのコンテンツ・タイプおよびエンコード方式の値を設定します。
最後に、Attachment Data Handler は、添付ファイル・ビジネス・オブジェクトのデータを添付ファイル・コンテナー・ビジネス・オブジェクトに取り込みます。
Business Integration Connect が InterChange Server から文書を受信する前に、ICS 互換コンポーネントは、ペイロードのビジネス・オブジェクト表現と添付ファイルを XML トランスポート・エンベロープでラップするかどうかを調べる必要があります。InterChange Server は、ビジネス・オブジェクトを適切な ICS 互換コンポーネントに送信し、ICS 互換コンポーネントが実際の変換に対処します。この ICS 互換コンポーネント (WebSphere Business Integration Adapter または Wrapper Data Handler) を構成して Attachment Data Handler を呼び出すと、ペイロードや添付ファイル・ビジネス・オブジェクトから、対応するペイロードや添付ファイルへの変換を処理できるだけでなく、XML トランスポート・エンベロープの作成も処理できます。
添付ファイル付きのペイロード・ビジネス・オブジェクトを、そのトランスポート・エンベロープ表現に変換するため、呼び出し側のエンティティーは、Attachment Data Handler のインスタンスを生成して、それをペイロード・ビジネス・オブジェクトに渡します。Attachment Data Handler は以下の手順を実行します。
コンテンツ・タイプ・マップは、子メタオブジェクトの ContentTypeMap_x 構成プロパティーで定義されます。子メタオブジェクトは、Attachment Data Handler の構成情報を含むビジネス・オブジェクトです。このビジネス・オブジェクト内の属性は、コンテンツ・タイプ・マップをコンテンツ・タイプに関連付けます。詳細については、Attachment 子メタオブジェクトの作成を参照してください。
文書には、ペイロードのみが格納されています。このペイロードは、Attachment Data Handler によって、その関連ビジネス・オブジェクト表現から作成する必要があります。Attachment Data Handler は、文書に対してトランスポート・エンベロープを作成する必要はありません。詳細については、トランスポート・エンベロープのない文書の作成を参照してください。
文書には、ペイロードと、場合によりいくつかの添付ファイルが格納されています。したがって Attachment Data Handler は、ペイロード・ビジネス・オブジェクト表現をペイロードおよび 添付ファイルに変換し、これらのコンポーネントをトランスポート・エンベロープでラップする必要があります。詳細については、トランスポート・エンベロープを持つ文書の作成を参照してください。
Attachment Data Handler は、ペイロード・ビジネス・オブジェクトには XML トランスポート・エンベロープが必要ない と判断した場合、ペイロード・データをエンベロープ構造でラップする必要はありません。したがって、Attachment Data Handler は、デフォルトのペイロード・データ・ハンドラーを使用して、ペイロード・ビジネス・オブジェクトをこれに対応するペイロード文書に変換します。(Attachment Data Handler の子メタオブジェクト内に定義されている) PayloadDataHandlerMimeType 構成プロパティーには、ペイロード・ビジネス・オブジェクトのインスタンスを生成するために、デフォルトのペイロード・データ・ハンドラーを示す MIME タイプが格納されています。このデータ・ハンドラーは、ペイロード・ビジネス・オブジェクトを引き数として受信し、結果として得られたペイロード文書をその呼び出し側のエンティティーに戻します。
Attachment Data Handler は、ペイロード・ビジネス・オブジェクトに XML トランスポート・エンベロープが必要 と判断した場合、ペイロードと添付ファイル文書をこのエンベロープ構造でラップする必要があります。このため、Attachment Data Handler は、次の手順に従ってビジネス・オブジェクトの処理および変換を実行します。
ペイロード・ビジネス・オブジェクトのビジネス・オブジェクト・レベルのアプリケーション固有情報にある cw_mo_bcg_content_info タグは、コンテンツ情報属性の名前を指定します。この属性には、ペイロードのコンテンツ・タイプとエンコード方式が格納されています。
一致したコンテンツ・タイプ・マップに指定されている MIME タイプを使用して、ペイロード・データ・ハンドラーのインスタンスを生成します。このデータ・ハンドラーは、ペイロード・ビジネス・オブジェクトをこれに対応するペイロード文書に変換し、得られた文書を Attachment Data Handler に戻します。Attachment Data Handler は、ペイロード・データ・ハンドラーによって戻されたストリングを基に、Base64 方式を使用してバイト・データをエンコードし、結果を XML トランスポート・エンベロープのペイロード・タグに格納します。
添付ファイル・コンテナーは、ペイロード・ビジネス・オブジェクトの添付ファイル・コンテナー属性に存在します。ペイロード・ビジネス・オブジェクトのビジネス・オブジェクト・レベルのアプリケーション固有情報には、cw_mo_bcg_attachment タグが格納されています。このタグは、添付ファイル・コンテナー属性を示しています。この属性には、添付ファイルが格納されています。
cw_mo_bcg_attachment タグが存在しない (または空である) 場合は、文書に添付ファイルが格納されていないものとみなします。したがって、これ以上の処理ステップは必要ありません。Attachment Data Handler は、変換済みのペイロードをそのトランスポート・エンベロープに戻します。
Attachment Data Handler は、次の手順に従って、添付ファイル・ビジネス・オブジェクトを処理します。
添付ファイル・ビジネス・オブジェクトのビジネス・オブジェクト・レベルのアプリケーション固有情報には、cw_mo_bcg_content_info タグが格納されています。このタグは、コンテンツ情報属性を示しています。この属性には、この添付ファイルのコンテンツ・タイプとエンコード方式が格納されています。Attachment Data Handler は、このコンテンツ情報を文書の attachment タグに格納します。
一致したコンテンツ・タイプ・マップに存在する MIME タイプを使用して、データ・ハンドラーのインスタンスを生成します。このデータ・ハンドラーは、添付ファイル・ビジネス・オブジェクトをこれに対応する添付ファイル文書に変換し、得られた文書を (ストリングとして) Attachment Data Handler に戻します。
Attachment Data Handler は、(文字セットが存在した場合は文字セットを使用して) 戻されたストリングからバイト・データを取得し、このバイト・データを Base64 方式でエンコードします。次に、この結果を attachment タグに格納します。
Business Integration Connect に付属する Attachment Data Handler を使用するには、以下の手順を実行します。
Attachment Data Handler および関連リポジトリー・ファイルは、Business Integration Connect インストール・メディア上の、表 38 にリストされたロケーションで提供されています。
表 38. Attachment Data Handler のコンポーネントのロケーション
コンポーネント | ロケーション |
---|---|
Attachment Data Handler |
Integration/WBI/WICS/Attachment/ bcgwbiattachmentdh.jar |
リポジトリー・ファイル |
Integration/WBI/WICS/Attachment/ MO_DataHandler_DefaultAttachmentConfig.in |
Web サーバーの資料に従って、ファイルを Web サーバーに配置します。
WebSphere InterChange Server は、Attachment Data Handler を実行時にロードできるように、そのロケーションを認識している必要があります。Attachment Data Handler のロケーションを指定するには、以下の手順を実行します。
Attachment Data Handler の JAR ファイル bcgwbiattachmentdh.jar を、ICS 始動時に組み込まれる JAR ファイルのリストに追加します。
Attachment Data Handler を構成するには、構成ビジネス・オブジェクトを作成するための次の手順を実行します。
Attachment Data Handler を構成するには、Attachment Data Handler が必要とするクラス名と構成プロパティーを提供するための子メタオブジェクトを作成しなければなりません。このメタオブジェクトを作成するには、表 39 に示す属性を含むビジネス・オブジェクト定義を作成します。WebSphere Business Integration Toolset の一部である Business Object Designer を使用して、このビジネス・オブジェクト定義を作成します。
子メタオブジェクトは Attachment Data Handler が必要とするクラス名と構成プロパティーを提供します。Business Object Designer ツール内で、ペイロード用の MIME タイプと、受信すると思われる添付ファイルのタイプ用の MIME タイプを含む子メタオブジェクトを作成します。
子メタオブジェクトの属性を表 39 に示します。Attachment Data Handler の子メタオブジェクトの例は、図 6 に示されています。
表 39. Attachment 子メタオブジェクトの構成プロパティー
属性名 | 説明 |
---|---|
ClassName |
クラス名 (必須)。次のデータ・ハンドラー・クラスを指しています。 com.ibm.bcg.DataHandlers.AttachmentDataHandler |
ContentTypeMap_x |
ペイロードのコンテンツ・タイプ・マップおよび XML ラッパーでの受信が予想される各種の添付ファイルのコンテンツ・タイプ・マップ。
詳細については、コンテンツ・タイプ・マップを参照してください。
|
PayloadDataHandlerMimeType | 関連の添付ファイルが存在しない ペイロードを処理する、デフォルトのデータ・ハンドラーを示すために使用する MIME タイプ。 |
コンテンツ・タイプ・マップを指定すると、関連のコンテンツ・タイプで形式が設定された情報を変換するために Attachment Data Handler が呼び出すデータ・ハンドラーが指定されます。例えば、ペイロードのコンテンツ・タイプが application/xml の場合、Attachment Data Handler は、ContentType 属性に値 application/xml が含まれているコンテンツ・タイプ・マップを検索します。一致するコンテンツ・タイプが見つからない場合、Attachment Data Handler は、関連の添付ファイルをビジネス・オブジェクトに変換しない ものとみなします。
表 41 に示すような属性レベルのアプリケーション固有情報により、これらのコンテンツ・タイプごとにコンテンツ・タイプ・マップを作成します。
コンテンツ・タイプ・マップを表す子メタオブジェクト内に属性を作成する場合は、以下の点を念頭においてください。
ContentTypeMap_x
ここで x は、ビジネス・オブジェクト定義内のコンテンツ・タイプ・マップを一意的に示す整数です。
表 40 に、この属性のデフォルト値に含めることのできるタグをリストします。
表 40. コンテンツ・タイプ・マップ属性のデフォルト値で有効なタグ
タグ名 | 説明 | 必要であるか |
---|---|---|
ContentType |
トランスポート・エンベロープの形になっている実際のコンテンツ・タイプ (text/xml など)。 | はい |
MimeType |
関連のコンテンツ・タイプをビジネス・オブジェクトに変換するときに、データ・ハンドラーを示すために使用する MIME タイプ。MimeType を指定しないと、データ・ハンドラーは ContentType の値を使用して、データ・ハンドラーのインスタンスを生成します。 | いいえ |
CharSet |
Attachment Data Handler がバイトをストリングに、またはストリングをバイトに変換するために使用する文字セットの名前 (UTF-8 など)。
CharSet を指定しない場合、Attachment Data Handler は以下の操作を実行します。
| いいえ |
ConvertAttachment |
添付ファイルをビジネス・オブジェクトに変換すべきであるかどうかを示すブール値。デフォルトは false です。 | いいえ |
コンテンツ・タイプ・マップでは、エンコードの文字セットだけでなく、添付ファイルをビジネス・オブジェクトに変換するかどうかについても指定できます。子メタオブジェクト属性の説明および例については、Attachment 子メタオブジェクトの作成を参照してください。
例えば、文書内に次のコンテンツ・タイプがある場合を考えてください。
コンテンツ・タイプ | 属性名 | デフォルト値 |
---|---|---|
text/xml | ContentType_1 | ContentType=text/xml;MimeType=myxml; CharSet=UTF-8;ConvertAttachment=false; |
application/xml | ContentType_2 | ContentType=application/xml; MimeType=mynewxml;CharSet=UTF-16; ConvertAttachment=true; |
application/octet-stream | ContentType_3 | ContentType=application/octet-stream; MimeType=myoctet |
Business Integration Connect には、次に示す InterChange Server リポジトリー入力ファイルが用意されています。ここには、Attachment Data Handler の子メタオブジェクトのサンプルが格納されています。
ProductDir/Integration/WBI/WICS/Attachment/ MO_DataHandler_DefaultAttachmentConfig.in
ここで、ProductDir は、Business Integration Connect 製品のインストール先のディレクトリーを表します。このリポジトリー・ファイルでは、MIME タイプが wbic_attachment で、関連の子メタオブジェクトが MO_DataHandler_DefaultAttachmentConfig である 1 つの Attachment Data Handler を定義します。図 6 には、Attachment Data Handler の子メタオブジェクトのサンプルを示します。このメタオブジェクトは、ContentTypeMap_1 および ContentTypeMap_2 の 2 つのコンテンツ・タイプ・マップを定義しています。
図 6. Attachment Data Handler のサンプル子メタオブジェクト
WebSphere Business Integration Adapter (Adapter for JMS など) は、MO_DataHandler_Default メタオブジェクトを使用して、使用可能なデータ・ハンドラーを確認します。
WebSphere Server Access は、同じ目的で MO_Server_DataHandler メタオブジェクトを使用します。
これらのメタオブジェクトのいずれかで、Attachment Data Handler に参照を追加します。
文書に格納されている MIME タイプと、これらの MIME タイプをサポートするデータ・ハンドラーとを関連付けるため、ICS 互換コンポーネントは、トップレベル・データ・ハンドラー・メタオブジェクトを参照します。表 42 には、データ・ハンドラーにアクセスする必要があるコンポーネントに応じて、トップレベル・メタオブジェクトの名前が要約されています。
表 42. InterChange Server のトップレベル・データ・ハンドラー・メタオブジェクト
MO_Server_DataHandler または MO_DataHandler_Default メタオブジェクトに対し、以下の変更を加えます。
この属性の属性タイプは、Attachment Data Handler の子メタオブジェクト用のビジネス・オブジェクト定義です (Attachment 子メタオブジェクトの作成 参照)。
これらの属性の属性タイプは、関連データ・ハンドラーの子メタオブジェクトになります。
例えば、Attachment Data Handler が図 6 に示すように構成されているものとします。図 7 には、wbic_attachment MIME タイプと、MO_DataHandler_DefaultAttachmentConfig 子メタオブジェクトによって構成された Attachment Data Handler のインスタンスとを関連付ける属性を持つ、MO_DataHandler_Default メタオブジェクトを示します。このトップレベル・データ・ハンドラー・メタオブジェクトは、文書の MIME タイプ (text/xml) と XML データ・ハンドラーの子メタオブジェクトも関連付けます。
図 7. wbic_attachment MIME タイプと Attachment Data Handler との関連付け
サポートが必要なコンテンツ・タイプの一意の組み合わせごとに、この処理を繰り返します。このためには、Attachment Data Handler インスタンスに関連付けられた MIME タイプが属性名であり、関連の子メタオブジェクトの名前がタイプである、適切なトップレベル・データ・ハンドラー・メタオブジェクト内に属性を追加します。構成済みの MIME タイプ (およびその子メタオブジェクト) がトップレベル・メタオブジェクト内に存在することも確認してください。
XML トランスポート・エンベロープでラップされている文書を送信または受信する場合、ペイロード・ビジネス・オブジェクトには、添付ファイルの情報が格納されている必要があります。文書フローには、ペイロードが 1 つあり、必要に応じて複数の添付ファイルが存在します。Attachment Data Handler は、この添付ファイル情報が添付ファイル関連のビジネス・オブジェクト内に存在すると想定します。そこで、この情報を表現するためのビジネス・オブジェクト定義を作成する必要があります。ビジネス・オブジェクト定義は、InterChange Server が使用する情報の形式です。Business Object Designer ツールを使用して、ビジネス・オブジェクト定義を作成します。
図 8 には、XML トランスポート・エンベロープでラップされているペイロードのビジネス・オブジェクト構造を示します。
図 8. ペイロード・ビジネス・オブジェクトと添付ファイル・ビジネス・オブジェクトとの関係
図 8 に示すように、すべての添付ファイルは、添付ファイル・コンテナー・ビジネス・オブジェクトに格納されています。添付ファイルがある場合、ペイロード・ビジネス・オブジェクトには、添付ファイル・コンテナー・ビジネス・オブジェクトに対応する属性が存在します。
次の手順を実行して、ビジネス・オブジェクト構造に添付ファイル関連のビジネス・オブジェクトが含まれていることを確認します。
この手順の各ステップについて、以下のセクションで説明します。
関連のペイロードまたは添付ファイルのコンテンツ・タイプやエンコード方式を格納するには、コンテンツ情報ビジネス・オブジェクトを作成します。コンテンツ情報ビジネス・オブジェクト定義を作成するには、表 43 に示す属性を作成します。
属性 | 属性タイプ | 説明 | キー属性かどうか |
---|---|---|---|
contentType | ストリング |
関連のペイロードまたは添付ファイルのコンテンツ・タイプ。
| はい |
encoding | ストリング | 関連のペイロードまたは添付ファイルの文字エンコード方式。 | いいえ |
図 8 では、contentInfo_BusObj ビジネス・オブジェクト定義に、添付ファイルのコンテンツ・タイプやエンコード方式の属性が格納されています。これらの属性のすべてに、関連プロトコル・ヘッダーの名前を指定する属性レベルのアプリケーション固有情報があります。例えば、x-aux-sender-id 属性には次のようなアプリケーション固有情報セットがあります。
name=x-aux-sender-id
コンテンツ情報ビジネス・オブジェクト定義を識別する名前は、自由に選択できます。これが Content Type Encoding Business Object タイプであるかどうかは、添付ファイル・ビジネス・オブジェクトのアプリケーション固有情報によって決まります。図 8 に、contentType_BusObj というコンテンツ・タイプ・エンコード・ビジネス・オブジェクトの例を示します。
ビジネス・オブジェクトに変換されない添付ファイル・データの場合は、デフォルト添付ファイル・ビジネス・オブジェクトを作成します。このビジネス・オブジェクトは、トランスポート・エンベロープを基にした Base64 方式でエンコードされたデータを格納する場合に有益です。
デフォルト添付ファイル・ビジネス・オブジェクト定義を作成するには、以下の手順を実行します。
cw_mo_bcg_content_info タグの形式は、次のようになっています。
cw_mo_bcg_content_info=contentInfoAttr
ここで、contentInfoAttr は、添付ファイル・コンテナー・ビジネス・オブジェクトを含む属性の名前です。
表 44. デフォルト添付ファイル・ビジネス・オブジェクトの属性
属性 | 属性タイプ | 説明 | キー属性かどうか |
---|---|---|---|
attachment | ストリング |
1 つの添付ファイル・データ。
| はい |
コンテンツ情報を保持するための属性。
| ビジネス・オブジェクト |
コンテンツ情報ビジネス・オブジェクトを保持するためのオプションの属性。この属性により、添付ファイル・データのコンテンツ・タイプとエンコード方式がわかります。この属性のカーディナリティーは 1 つです。
コンテンツ情報ビジネス・オブジェクトの形式の詳細については、コンテンツ情報の表現を参照してください。 | いいえ |
図 8 では、コンテンツ・タイプとエンコード方式を保持するため、defaultAttach_BusObj ビジネス・オブジェクト定義に、コンテンツ情報ビジネス・オブジェクトなど、1 つの添付ファイル・データの属性が格納されています。このデフォルト添付ファイル・ビジネス・オブジェクトが表す 1 つの添付ファイル・データには、contentType_attach 属性によって表される、コンテンツ・タイプ・エンコード方式が存在します。したがって、デフォルト添付ファイル・ビジネス・オブジェクト定義には、そのビジネス・オブジェクト・レベルのアプリケーション固有情報に、次のタグが含まれます。
cw_mo_bcg_content_info=contentType_attach
ビジネス・オブジェクトを変換する文書内の添付ファイルの種類ごとに、別個の 添付ファイル・ビジネス・オブジェクト定義を作成する必要があります。
添付ファイル・ビジネス・オブジェクト定義は、文書の添付ファイルの中の実際のデータを表します。添付ファイル・ビジネス・オブジェクト定義を作成するには、以下の手順を実行します。
属性タイプには、ストリング (単純ないくつかのデータの場合) またはビジネス・オブジェクト定義 (複雑なデータの場合) があると考えられます。
この属性の属性タイプは、コンテンツ・タイプ・エンコードのビジネス・オブジェクト定義です (コンテンツ情報の表現 参照)。
cw_mo_bcg_content_info タグの形式は、次のようになっています。
cw_mo_bcg_content_info=contentTypeEncodingAttr
ここで、contentTypeEncodingAttr は、コンテンツ・タイプ・エンコード・ビジネス・オブジェクトを含む属性の名前です。
図 8 では、ペイロード文書に、attachment1_BusObj ビジネス・オブジェクト定義によって表現される 1 つの添付ファイルがあります。この添付ファイルには、contentTypeEncoding 属性によって表現されるコンテンツ・タイプ・エンコードがあります。したがって、添付ファイル・ビジネス・オブジェクト定義では、そのビジネス・オブジェクト・レベルのアプリケーション固有情報に次のタグが含まれます。
cw_mo_bcg_content_info=contentTypeEncoding
添付ファイル・コンテナーには、トランスポート・エンベロープ内にある文書の添付ファイルがすべて格納されています。InterChange Server の添付ファイル・コンテナーを表現するには、添付ファイル・コンテナー・ビジネス・オブジェクトを作成する必要があります。添付ファイル・コンテナー・ビジネス・オブジェクト内の各属性は、1 つの添付ファイルを表現しています。
添付ファイル・コンテナー・ビジネス・オブジェクト定義を作成するには、以下の手順を実行します。
これらの属性の属性タイプは、属性ごとに添付ファイル・ビジネス・オブジェクトに関連付けられます (添付ファイルの表現を参照)。各属性には、複数のカーディナリティーがあります。
wbic_type タグの形式は、次のようになっています。
wbic_type=Attachment
この属性の属性タイプは、デフォルト添付ファイル・ビジネス・オブジェクト定義です (添付ファイル・データの表現参照)。これは、添付ファイル・コンテナー・ビジネス・オブジェクトのキー属性です。この属性は、アプリケーション固有情報に wbic_type タグを必要としません。
cw_mo_bcg_default_attribute タグの形式は、次のようになっています。
cw_mo_bcg_content_info=defaultAttachmentAttr
ここで、defaultAttachmentAttr は、デフォルト添付ファイル・ビジネス・オブジェクトを含む属性の名前です。
図 8 では、添付ファイル・コンテナーが attachContainer_BusObj ビジネス・オブジェクト定義によって表現されています。この添付ファイル・コンテナー・ビジネス・オブジェクト定義には、次の属性があります。
wbic_type=Attachment
この添付ファイルは、attachment1_BusObj ビジネス・オブジェクト定義によって表現されます。
cw_mo_bcg_default_attribute=defaultAttach
ペイロード・ビジネス・オブジェクト定義は、文書内の情報を表します。Business Integration Connect および InterChange Server 間で転送する各情報の属性が含まれています。ペイロード・ビジネス・オブジェクト定義の作成については、文書用ビジネス・オブジェクト を参照してください。
添付ファイルが含まれる文書を送信または受信する場合、ペイロード・ビジネス・オブジェクトには、添付ファイルの情報が格納されている必要があります。文書フローには、ペイロードが 1 つあり、必要に応じて複数の添付ファイルが存在します。文書のペイロードに添付ファイルが含まれている場合、以下のようにペイロード・ビジネス・オブジェクト定義を変更する必要があります。
実際のペイロード・データが独立したビジネス・オブジェクト定義に格納されていると、使いやすい場合があります。この場合、トップレベルのペイロード・ビジネス・オブジェクトには、属性タイプが実際のペイロード・データのビジネス・オブジェクト定義であるペイロード・データの属性が格納されています。
この属性の属性タイプは、添付ファイル・コンテナー・ビジネス・オブジェクト定義です (添付ファイル・コンテナーの表現を参照)。この属性のカーディナリティーは 1 つです。
この cw_mo_bcg_attachment タグの形式は、次のようになっています。
cw_mo_bcg_attachment=attachContainerAttr
ここで、attachContainerAttr は、添付ファイル・コンテナー・ビジネス・オブジェクトを含む属性の名前です。
cw_mo_bcg_content_info タグの形式は、次のようになっています。
cw_mo_bcg_attachment=contentInfoAttr
ここで、contentInfoAttr は、コンテンツ情報ビジネス・オブジェクトが格納されている属性の名前です。コンテンツ情報ビジネス・オブジェクトの形式の詳細については、コンテンツ情報の表現を参照してください。
例えば、JMS トランスポート・プロトコルを使用している場合、ペイロード・ビジネス・オブジェクト定義には、JMS 動的ビジネス・オブジェクトが格納されている必要があります。詳細については、トランスポート・プロトコルのサポートにおけるビジネス・オブジェクト定義の作成方法のセクションを参照してください。