ブローカーが Web サービス・クライアントと通信する場合、通常は SOAP メッセージを受け入れる必要があります。 このアプローチを使用するとき、MRM ドメインを使用する必要があります。この場合、ブローカーのメッセージ・モデルと、Web サービス・クライアントによって使用される WSDL 定義が同じメッセージを記述する必要があります。
ブローカーが既存のメッセージ・モデル (C ヘッダー・ファイルまたは COBOL コピーブックをインポートすることにより作成された可能性がある) を持っている場合、クライアントによって使用される対応する WSDL 定義を作成するために、これをエクスポートすることができます。 それと同時に、SOAP エンベロープおよび (rpc スタイルの場合) WSDL 操作に適した定義を含めるように、メッセージ・モデルを拡張する必要があります。 現在は、WSDL バージョン 1.1 だけがサポートされます。
WSDL を生成するには、以下のものが必要です。
メッセージ・カテゴリーは、WSDL 操作ごとに必須です。 カテゴリーは、ブローカー・モデルからのメッセージのセットを指定し、指定された WSDL 操作タイプに必要な WSDL 修飾子にそれらを関連付けます。
実行時に、SOAP メッセージの形式は、ウィザードで指定された WSDL スタイルによって決まります。 ユーザーが rpc スタイルを選択する場合、SOAP エンベロープには WSDL 操作に対応するメッセージが含まれます。 その後、WSDL 生成プログラムは WSDL 操作に対応する適切なメッセージ定義をメッセージ・セットに追加します。 文書スタイルを選択する場合、SOAP エンベロープにはカテゴリーで指定されたメッセージが入れられるだけなので、その他のメッセージ定義をメッセージ・セットに追加する必要はありません。
SOAP エンベロープおよび (必要に応じて) SOAP エンコード・スキーム用のメッセージ定義は、メッセージ・セットにインポートされます。
生成されるモデルにより、ユーザーは MRM XML パーサーを使用して着信 SOAP メッセージを構文解析します。この場合に、メッセージ・タイプは「エンベロープ」です。 SOAP エンベロープ用のメッセージ・モデルは、外部 SOAP ラッパーとそれを構成するヘッダーおよび本文セクション、および様々なビジネス・ペイロードが見られる多数の添付ポイントを定義します。 そのような添付ポイントは構成タイプ「メッセージ」を用いて定義され、これにより、ブローカー・メッセージをそれらのポイントで表示することができます。
許可される添付ポイントは、Envelope.Body、Envelope.Header、および Envelope.Body.Fault.detail です。 メッセージ・モデルからのメッセージが各ポイントに表示されます (Envelope.Header の場合は、複数のメッセージが表示されることがあります)。 rpc スタイルの WSDL では、Envelope.Body で予期されるメッセージは、WSDL 操作に対応する自動生成メッセージです (例えば、メッセージ・カテゴリー)。 それ以外の場合、予期されるメッセージは、メッセージ・カテゴリーで参照されるものです。