MIME パーサーおよびドメイン

メッセージが複数パーツ・メッセージ用の 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 メッセージの例

以下の例は、簡単な複数パーツの 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 論理メッセージ・ツリーの例を示しています。Root エレメントには 3 つの子、つまり Properties、Transport ヘッダー、および MIME があります。Properties サブツリーには、メッセージ・ドメイン、および ContentType プロパティーが含まれます。 Transport ヘッダーの子には、MQMD ヘッダーなどの情報が含まれます。
MIME サブツリーには 4 つの子、つまり MIME-Version ヘッダー、Content-Type ヘッダー、Content-Description ヘッダー、および Parts の子があります。Parts の子は Part と呼ばれる複数の子を持つことができ、オプションで序文とエピローグの子を持つこともできます。 ここに示す Part の子には、Content-Type ヘッダー、Content-Transfer-Encoding ヘッダー、
および Content-ID ヘッダーがあります。
Part の最後の子は Data です。
ここでは、Data は BLOB から構成されます。

MIME パーツの形式を知っている場合、ツリー内の BLOB データをさらに構文解析できます (たとえば、ESQL CREATE ステートメントを使用して)。 論理ツリー内の Content-Type フィールドから、形式に関する情報を見出せることがあります。 あるいは、MIME メッセージの形式が分かっていて、それに応じて構文解析できる場合もあります。 例えば、最初の MIME パーツが常に XML メッセージであり、2 番目の MIME パーツが バイナリー・セキュリティー・シグニチャーであることを知っている場合があります。

タグ付き区切りまたはバイナリー・データなどの他のメッセージ形式の構文解析は MIME パーサーによっては実行されないので、その方法をメッセージ・フロー内で指定する必要があります。 さらに、エンコードされた符号付きメッセージ・パーツの扱い方についても、MIME パーサーはこれらを処理しないので、指定する必要があります。

いくつかの事前定義の MIME メッセージ・モデルが、ワークベンチに付属しているので、「IBM® 提供メッセージからの新規メッセージ定義」ウィザードを使用してインポートすることができます。 IBM 提供メッセージ: IBM 提供メッセージを選択しますを参照してください。

関連概念
パーサー
MIME ツリーの詳細
MIME メッセージ
ESQL の概要
メッセージのモデル化の概念
関連タスク
ESQL の開発
Java の開発
関連資料
MIME ドメインを使用した開発フロー
IBM 提供メッセージ: IBM 提供メッセージを選択します
メッセージ・モデルの参照情報
特記事項 | 商標 | ダウンロード | ライブラリー | サポート | フィードバック

Copyright IBM Corporation 1999, 2009Copyright IBM Corporation 1999, 2009.
最終更新 : 2009-02-20 12:43:01

ac30060_