アクティビティーの入力のマッピング
このタスクでは、メール・ヘッダーの MIME ヘッダー・パートを含む XML 変数と、メッセージの本文を含むストリング変数を、それぞれ「MIME の読み取り」アクティビティーの mimeheader 入力パラメーターと body 入力パラメーターにマップします。 変数は、mimeheader 入力パラメーターと body 入力パラメーターにマップする必要があります。これらの入力パラメーターは、両方とも必須です。 mimeheader 入力パラメーターは XML 型であり、body 入力パラメーターはストリング型です。
このタスクについて
エレメント名 | デフォルト |
---|---|
mimeVersion | 現在は使用されていません。 |
contentType/mainType | 現在は使用されていません。 「MIME の読み取り」アクティビティーは、指定された境界区切り文字を使用してメッセージを解析することにより、メッセージがマルチパートであるかどうかを判別します。 |
contentType/subType | 現在は使用されていません。 |
contentType/charset | 現在は使用されていません。 |
contentType/attribute/name – contentType/attribute/value | この属性エレメントには、一連の属性が名前/値ペアとして含まれます。 boundary 属性を指定すると、メッセージのマルチパート・エンティティー間の境界区切り文字を指定できます。 boundary 属性を指定した場合は、メッセージ自体に設定されているデフォルトの boundary がオーバーライドされます。 メッセージ自体に boundary 属性が指定されていない場合、または属性エレメントを使用している場合は、実行時に例外がスローされます。 |
contentTransferEncoding | 現在は使用されていません。 |
otherMimeHeaders | 現在は使用されていません。 |
メッセージ本文には、1 つ以上の MIME パートを含めることができます。複数の MIME パートを含める場合は、mimeheader 入力パラメーターの contentType/attribute エレメントに指定した boundary 値で MIME パート間を区切ります。 各パートには、関連するパート本文の各種の属性が記述された MIME ヘッダーが含まれています。 個々のパートがどのように解析されるのかは、エンティティー本文の entityMimeHeader の以下のパラメーターに割り当てられた値に応じて異なります。
- Content-Type ヘッダー
- Content-Type ヘッダー内の Charset 属性
- Content-Transfer-Encoding
パート本文がどのように解析されるのかは、Content-Transfer-Encoding と Content-Type の設定に応じて以下のように異なります。
Content-Type が「text」に等しい場合:
- Content-Type が「text」であり、Content-Transfer-Encoding が「7-bit」/「8-bit」または「binary」である場合、パート本文は、UTF8 エンコード・ストリングに変換され、parts 出力パラメーターの entityBody エレメントにコピーされます。
- Content-Type が「text」であり、Content-Transfer-Encoding が「quoted-printable」である場合、パート本文は、quoted-printable でデコードされ、charset 属性に基づいて UTF8 エンコード・ストリングに変換され、parts 出力パラメーターの entityBody エレメントにコピーされます。
- Content-Type が「text」であり、Content-Transfer-Encoding が「base64」である場合、パート本文は、base64 でデコードされ、charset 属性に基づいて UTF8 エンコード・ストリングに変換され、parts 出力パラメーターの entityBody エレメントにコピーされます。
MIME パート・ヘッダーで明示的に指定されていない場合、charset は UTF8 にデフォルト設定されます。 このデフォルト動作に対する唯一の例外は、Content-Disposition が「attachment」に等しく、Content-Type が「text」に等しい場合です。 この場合、パートは、テキストとして処理されません。なぜなら、データの文字セットを認識できないからです。 また、Content-Transfer-Encoding は「binary」に設定されます。
Content-Type が「text」に等しくない場合:
- Content-Type が「text」に等しくなく、Content-Transfer-Encoding が「7bit」/「8bit」または「binary」である場合、パート本文は、UTF8 エンコード・ストリングに変換され、parts 出力パラメーターの entityBody エレメントにコピーされます。
- Content-Type が「text」に等しくなく、Content-Transfer-Encoding が「quoted-printable」である場合、パート本文は、quoted-printable でデコードされ、base64 でエンコードされ、parts 出力パラメーターの entityBody エレメントにコピーされます。
- Content-Type が「text」に等しくなく、Content-Transfer-Encoding が「base64」である場合、パート本文は、そのまま (base64 データ)、parts 出力パラメーターの entityBody エレメントにコピーされます。