メッセージが複数パーツ・メッセージ用の MIME 規格を使用する場合、MIME ドメインを使用してください。
MIME (Multipurpose Internet Mail Extension) パーサーは、MIME 標準全体はサポートしませんが、MIME の一般的な使用はサポートしています。 メッセージは、HTTP を介して、または WebSphere® MQ などの他のトランスポート・タイプを介してブローカーに送信できます。 メッセージが複数パーツ・メッセージ用の MIME 規格を使用する場合、MIME ドメインを使用してください。
MIME ドメインは、メディア・タイプが message の Content-Type 値をサポートしません。
メッセージが MIME ドメインを使用するように指定するには、該当するメッセージ・フロー・ノード上で「メッセージ・ドメイン」として「MIME」を選択します。
MIME ドメインおよびパーサーを使用して、MIME メッセージの構文解析と記述を行います。 MIME パーサーは論理ツリーを作成して、ブローカー ContentType プロパティーをセットアップします。 Compute ノードおよび JavaCompute ノードを使用して、論理ツリーを操作することができます。 MIME ドメインの ContentType プロパティーを使用して、Content-Type 値を設定します。
以下の例は、簡単な複数パーツの MIME メッセージを示しています。 示されているメッセージは、ルート・パーツおよび 1 つの添付パーツの、2 つのパーツの添付メッセージを持つ SOAP です。 境界ストリング MIME_boundary は、パーツを区切ります。
MIME-Version: 1.0
Content-Type: Multipart/Related; boundary=MIME_boundary; type=text/xml
Content-Description: Optional description of message.
Optional preamble text
--MIME_boundary
Content-Type: text/xml; charset=UTF-8
Content-Transfer-Encoding: 8bit
Content-ID: <rootpart@example.com>
<?xml version='1.0' ?>
<SOAP-ENV:Envelope
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Header xmlns:ins="http://myInsurers.com">
<ins:ClaimReference>abc-123</ins:ClaimReference>
</SOAP-ENV:Header>
<SOAP-ENV:Body xmlns:ins="http://myInsurers.com">
<ins:SendClaim>
<ins:ClaimDetail>myClaimDetails</ins:ClaimDetail>
<ins:ClaimPhoto>
<href>cid:claimphoto@example.com</href>
</ins:ClaimPhoto>
</ins:SendClaim>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
--MIME_boundary
Content-Type: application/octet-stream
Content-Transfer-Encoding: binary
Content-ID: <claimphoto@example.com>
myBinaryData
--MIME_boundary--
Optional epilogue text
以下の図は MIME 論理ツリーを示しています。これについては、MIME ツリーの詳細で説明されています。 この図に示されているすべての子が MIME 論理ツリー上に置かれている必要はありません。 MIME メッセージの Content-Type ヘッダーの値は、 Properties サブツリー内の ContentType フィールドと同じです。 Transport-headers は、MQMD または HTTP などの、使用されるトランスポートのヘッダーです。
MIME パーツの形式を知っている場合、ツリー内の BLOB データをさらに構文解析できます (例えば、ESQL CREATE ステートメントを使用して)。 論理ツリー内の Content-Type フィールドから、形式に関する情報を見出せることがあります。 あるいは、MIME メッセージの形式が分かっていて、それに応じて構文解析できる場合もあります。 例えば、最初の MIME パーツが常に XML メッセージであり、2 番目の MIME パーツが バイナリー・セキュリティー・シグニチャーであることを知っている場合があります。
EmailInput ノードが、Post Office Protocol 3 (POP3) または Internet Message Access Protocol (IMAP) をサポートする E メール・サーバーから E メールを受け取る場合、E メール・メッセージの本文およびすべての添付ファイルが MIME ドメインに伝搬されます。 E メールに関するその他の情報はすべて、Root.Transport headers MIME 論理ツリーに格納されます。例えば、Root.EmailInputHeader.To です。 ここで To は、いずれかの E メール要素のストレージ場所です。 EmailInput ノードの使用時に MIME 論理ツリーに伝搬される E メール要素をすべて含むリストは、EmailInput ノードを参照してください。
タグ付き区切りまたはバイナリー・データなどの他のメッセージ形式の構文解析は MIME パーサーによっては実行されないので、その方法をメッセージ・フロー内で指定する必要があります。 さらに、エンコードされた符号付きメッセージ・パーツの扱い方についても、MIME パーサーはこれらを処理しないので、指定する必要があります。
いくつかの事前定義の MIME メッセージ・モデルが、WebSphere Message Broker Toolkitに付属しているので、「IBM® 提供メッセージからの新規メッセージ定義」ウィザードを使用してインポートすることができます。