シナリオを実行し、メッセージ・データを正常に変換するには、メッセージ・マップを作成し、SOAP メッセージ要件および変換要件に基づいて、それをカスタマイズする必要があります。このシナリオでは、SOAP ドメインを使用して SOAP メッセージを構文解析します。
SOAPInput ノードなどの入力ノード上にメッセージ・ドメインを構成して、メッセージの構文解析に WebSphere® Message
Broker が使用するパーサーを定義します。WebSphere Message
Broker は、さまざまな形式のメッセージを構文解析し、書き込むためのパーサーを幅広く提供しています。
WebSphere Message
Broker は、SOAP 1.1 および SOAP 1.2 のメッセージをサポートします。
入力ノード内に構成するメッセージ・ドメインによっては、SOAP メッセージの変換時に SOAP 1.1 と SOAP 1.2 の相違を考慮しなければならない場合があります。
- SOAPInput ノードを介して SOAP メッセージを受信する場合、SOAP パーサーは SOAP 1.1 または SOAP 1.2 を自動的に処理します。SOAP ドメインは、Web サービス・メッセージの正確なフォーマットとは無関係の、共通の論理ツリー・フォーマットを使用します。 SOAP ツリー・フォーマットについて詳しくは、『SOAP ツリーの概説』を参照してください。
- HTTPInput ノードを介して SOAP メッセージを受信する場合、XMLNSC パーサーは SOAP 1.1 または SOAP 1.2 のメッセージを異なる方法で処理します。
メッセージ・マップを作成する際は、SOAP バージョンを確認し、グラフィカル・データ・マップの作成および構成時に正しい SOAP 1.1 スキーマまたは SOAP 1.2 スキーマを構成する必要があります。
メッセージ・フローまたは使用しているサービス操作をモデル化する際に使用するノードおよび構成するメッセージ・ドメインに応じて、異なるスキーマ・モデルを使用する必要があります。
- SOAPExtract ノードを除く SOAP ノードを使用している場合は、SOAP ドメイン内に SOAP_Domain_Msg をマップする必要があります。
- SOAPExtract ノードを含む SOAP ノードを使用しており、Mapping ノードが SOAPExtract ノートの後にワイヤリングされている場合は、XMLNSC ドメイン内に操作に関連付けられたスキーマをマップする必要があります。SOAPExtract ノードを使用して SOAP エンベロープを削除すると、SOAP メッセージ本体のみを処理できるようになります。
- HTTP ノードまたは MQ ノードを使用している場合、SOAP 1.1 または SOAP 1.2 のスキーマを XMLNSC ドメイン内のマップのルート・モデルとしてマップする必要があります。
以下の表に、SOAP メッセージのマップに使用可能なさまざまなタイプのノードとドメイン、およびメッセージ・マップを使用して SOAP メッセージを変換する際に使用する必要のあるスキーマをまとめています。
表 1. SOAP メッセージの変換時に使用するスキーマメッセージ・ドメイン |
|
メッセージ・マップで構成するスキーマ |
SOAP |
SOAP ノード |
SOAP_Domain_Msg |
XMLNSC |
SOAPExtract ノードを含む SOAP ノード (ここで、SOAPExtract ノードは Mapping ノードの前にモデル化されています) |
SOAP 操作に関連付けられたスキーマ |
XMLNSC |
HTTP ノード |
マップのルート・モデルとしての SOAP 1.1 または 1.2 のスキーマ |
XMLNSC |
MQ ノード |
マップのルート・モデルとしての SOAP 1.1 または 1.2 のスキーマ |
このシナリオを使用して、Mapping ノードが SOAPExtract ノードなしで SOAPInput ノードから直接接続されているメッセージ・フローで SOAP メッセージを変換するメッセージ・マップを作成する方法を学習します。詳しくは、ソリューションの実装を参照してください。