WSDL をさまざまな方法で使用してメッセージ・フローを構成できます。
一般に、Web サービスを処理するメッセージ・フローは SOAP ノードを使用します。 SOAP ノードの詳細については、WebSphere Message Broker と Web サービスを参照してください。
WebSphere Message Broker で Web サービスを作成するには、WSDL をインポートするか、または「新規サービス」ウィザードを使用して新規インターフェースを定義します。 詳しくは、サービス作成ワークフローの概要を参照してください。別の方法として、SOAP ノードを構成することもできます。これを行うには、ワークスペースからノードに WSDL をドラッグするか、またはノードの「WSDL ファイル名」プロパティーを使用して WSDL を指定します。
SOAP ノードの動作モードを変更して、ゲートウェイ・モードで作動させることができます。 ゲートウェイ・モードでは、ノードを構成するための WSDL は必要ありません。ノードは、特定の WSDL に結合されない汎用要求/応答および片方向 SOAP メッセージを扱うからです。 詳細については、SOAP ノードでのゲートウェイ動作モードを参照してください。
WSDL ファイルを SOAP ノードにドラッグすると、ノード・プロパティーは、WSDL address URI のプロパティーから構成されます。 SOAP ノードのトランスポート・プロパティーは、WSDL ファイルからインポートした最初のバインディングに基づいて値が設定されます。 つまり、最初にインポートしたバインディングで JMS トランスポートが記述されていれば、JMS トランスポートのプロパティーが設定され、最初にインポートしたバインディングで HTTP トランスポートが記述されていれば、HTTP トランスポートのプロパティーが設定されます。 インポートした別のバインディングを選択すれば、その選択に応じてトランスポート・プロパティーが設定されます。 選択したトランスポートに応じて、異なる portType が表示されます。
WSDL の address エレメント URI は、W3C フォーマットまたは IBM® (非推奨) フォーマットの 2 つの異なるフォーマットで存在する場合があります。 WSDL URI のフォーマットは、パーサーが SOAP のノード・プロパティーの値を取り込むために検索する WSDL プロパティーの名前に影響します。 例えば、IBM スタイルの WSDL をインポートした場合、JNDI コンテキスト・パラメーター表には値が取り込まれません。これは、IBM スタイルの WSDL が WSDL アドレス URI のこれらのプロパティーをサポートしていないからです。 JNDI コンテキスト・パラメーターが W3C スタイルの WSDL で記述されている場合にのみ、表に値が取り込まれます。 詳細については、JMS の WSDL URI 形式を参照してください。
サービス定義を指定する場合、エンドポイント・プロパティーは自動的に設定されますが、こうしたプロパティーを手動で設定したり指定変更したりもできます。
オプションとして、WSDL 定義は複数のファイルに分割できます。 標準的な配置としては、最上位のサービス定義ファイルがバインディング・ファイルをインポートし、バインディング・ファイルはインターフェース・ファイルをインポートし、そのインターフェース・ファイルはスキーマ定義ファイルをインポートまたは組み込みます。
SOAP ノードを構成するには、自身に関する WSDL portType (論理 WSDL インターフェース) だけでは不十分です。実行時に SOAP ペイロードが十分に定義されているようにするために、特定のバインディングが必要です。
バインディングは use を定義しますが、これは document (デフォルト) または rpc が可能です。 use が document の場合には、SOAP ペイロードは WSDL で XML スキーマ・エレメントによって記述されます。 use が rpc の場合、SOAP ペイロードは指定されたネームスペース内の WSDL 操作名になります。
SOAPReply ノードは、SOAPInput ノードと常に一緒に使用します。 Web サービスの詳細なシナリオについては、Web サービスのシナリオを参照してください。
SOAPAsyncResponse ノードは、「固有 ID」プロパティーで関連付けた SOAPAsyncRequest ノードと常に一緒に使用します。 SOAP ノードの使用パターンについては、Web サービスのシナリオを参照してください。