WSDL ファイルを使用したメッセージ・フロー構成

WSDL ファイルを使用してメッセージ・フローを構成できます。

一般に、Web サービスを処理するメッセージ・フローは SOAP ノードを使用します。 SOAP ノードの詳細については、 IBM App Connect Enterprise および Web サービスを参照してください。 SOAP ノードの動作モードを変更して、ゲートウェイ・モードで作動させることができます。 ゲートウェイ・モードでは、ノードを構成するための WSDL ファイルは必要ありません。ノードは、特定の WSDL ファイルに結びついていない汎用的な要求と応答および片方向 SOAP メッセージを処理するからです。

IBM App Connect Enterprise では、以下の方法で Web サービスを作成できます
  • WSDL ファイルをインポートする。
  • WSDL ファイルを SOAP ノードにドラッグしてそのノードを構成する。
  • SOAP ノードの 「WSDL ファイル名」プロパティーに WSDL ファイルを指定する。
  • 「新規統合サービス」ウィザードを使用して新規インターフェースを定義する。

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 で記述されている場合にのみ、表に値が取り込まれます。 詳しくは、「 WSDL URI formats for JMS」を参照してください。

サービス定義を指定する場合、エンドポイント・プロパティーは自動的に設定されますが、こうしたプロパティーを手動で設定したり指定変更したりもできます。

オプションとして、WSDL 定義は複数のファイルに分割できます。 標準的な配置としては、最上位のサービス定義ファイルがバインディング・ファイルをインポートし、バインディング・ファイルはインターフェース・ファイルをインポートし、そのインターフェース・ファイルはスキーマ定義ファイルをインポートまたは組み込みます。

SOAP ノードを構成するには、自身に関する WSDL portType (論理 WSDL インターフェース) だけでは不十分です。実行時に SOAP ペイロードが十分に定義されているようにするために、特定のバインディングが必要です。

バインディングは use を定義しますが、これは document (デフォルト) または rpc が可能です。 use が document の場合には、SOAP ペイロードは WSDL で XML スキーマ・エレメントによって記述されます。 use が rpc の場合、SOAP ペイロードは指定されたネームスペース内の WSDL 操作名になります。

共有ライブラリーから WSDL ファイルを SOAP ノードにドラッグした場合、ノードの「WSDL ファイル名」プロパティーと「メッセージ・モデル」プロパティーに共有ライブラリーの名前が指定されます。

SOAP ノードの構成

以下のノードが、WSDL ファイルによって明示的に構成されます。
以下のノードが、WSDL ファイルによって暗黙的に構成されます。対になっているノードのWSDL 構成を継承するからです。

SOAPReply ノードは、常に SOAPInput ノードと一緒に使用されます。

SOAPAsyncResponse ノードは常に、 「固有 ID」 プロパティーによって関連付けられた SOAPAsyncRequest ノードと共に使用されます。