Web サービス・メッセージ・フローおよびメッセージ・セットの作成
WSDL 定義から Web サービス・フロー・メッセージ・フローおよびメッセージ・セットを作成するには、次のようにします。
- OrderService.WSDL ファイルをワークスペースに保存します (例: C:\Documents and Settings\<username>\IBM\wmbt80\workspace\OrderService.wsdl)。
- 「ブローカー開発」ビューで、「WSDL または XSD ファイル (あるいはその両方) から開始」をクリックします。クイック・スタート・ウィザードが表示されます。
- 「メッセージ・ブローカー・プロジェクト名」フィールドに AsyncWebServiceFlows と入力します。
- 「メッセージ・セット・プロジェクト名」フィールドに AsyncWebServiceMessages と入力します。
- 「メッセージ・セット名」フィールドに AsyncWebServiceMessages と入力します。
- 「メッセージ・フロー名」フィールドに AsyncWebSebServiceServerFlow と入力します。
- 「これらのリソース用の新規作業セットの作成」をクリアします。
下の図は、クイック・スタート・ウィザードで入力された値を示しています。

- 「次へ」をクリックします。
- 「外部リソースを使用」を選択して、「参照」をクリックします。
- ワークスペースから OrderService.wsdl ファイルを探し出し、「OK」をクリックします。
- 「次へ」をクリックします。
- 「終了」をクリックします。WSDL ファイルに基づいて、ブランクのメッセージ・フローと、メッセージ・セットが作成されます。
- WebServiceAsyncServerFlow メッセージ・フローに以下のノードを追加します。
ノード・タイプ |
ノード名 |
SOAPInput |
SOAP Input |
RouteToLabel |
Route WS Operation |
Label |
submitPO |
Compute |
Compute Response |
SOAPReply |
SOAP Reply |
- 以下の表に示すようにノードを接続します。
ノード名 |
ターミナル |
接続先のノード |
SOAPInput |
Out |
Route WS Operation |
submitPO |
Out |
Compute Response |
Compute Response |
Out1 |
SOAP Reply |
ノートの接続について詳しくは、WebSphere Message Broker 資料のメッセージ・フロー・ノードの接続を参照してください。
下の図は、ノードが相互に接続された WebServiceAsyncServerFlow メッセージ・フローを示しています。
- 「AsyncWebServiceMessages」プロジェクトから SOAP Input ノードに OrderService.wsdl をドラッグします。
OrderService.wsdl ファイルは、「AsyncWebServicMessages」>「AsyncWebServicMessages」>「Deployable WSDL」の順に選択すると見つかります。
- SOAP Input ノードのプロパティーの「WS 拡張」タブにある「WS-Addressing の使用」を選択します。
WS-Addressing ヘッダーは、この Web サービスのすべての SOAP メッセージで使用されます。
- Compute Response ノードをダブルクリックして、以下のモジュールを ESQL ファイルに貼り付けます。
CREATE COMPUTE MODULE WebServicesAsyncServerFlow_Compute
CREATE FUNCTION Main() RETURNS BOOLEAN
BEGIN
SET OutputRoot.SOAP.Body.ns:submitPOResponse.orderStatus = 'AVAILABLE';
DECLARE outMsg REFERENCE TO OutputRoot.SOAP.Body.ns:submitPOResponse;
DECLARE inMsg REFERENCE TO InputRoot.SOAP.Body.ns:submitPORequest;
SET outMsg.orderAmt = 50;
SET outMsg.partNo = inMsg.partNo;
SET outMsg.partQuantity = inMsg.partQuantity;
RETURN TRUE;
END;
END MODULE;
これで、クライアント・ドライバー・メッセージ・セットを作成できます。
詳しくは、クライアント・ドライバー・メッセージ・セットの作成を参照してください。
「Asynchronous Consumer サンプルの作成」に戻る