Web サービス・メッセージ・フローおよびメッセージ・セットの作成

WSDL 定義から Web サービス・フロー・メッセージ・フローおよびメッセージ・セットを作成するには、次のようにします。

  1. OrderService.WSDL ファイルをワークスペースに保存します (例: C:\Documents and Settings\<username>\IBM\wmbt80\workspace\OrderService.wsdl)。
  2. 「ブローカー開発」ビューで、「WSDL または XSD ファイル (あるいはその両方) から開始」をクリックします。クイック・スタート・ウィザードが表示されます。
  3. 「メッセージ・ブローカー・プロジェクト名」フィールドに AsyncWebServiceFlows と入力します。
  4. 「メッセージ・セット・プロジェクト名」フィールドに AsyncWebServiceMessages と入力します。
  5. 「メッセージ・セット名」フィールドに AsyncWebServiceMessages と入力します。
  6. 「メッセージ・フロー名」フィールドに AsyncWebSebServiceServerFlow と入力します。
  7. 「これらのリソース用の新規作業セットの作成」をクリアします。 下の図は、クイック・スタート・ウィザードで入力された値を示しています。
    クイック・スタート・ウィザードの画面取り。これらの値は、上記の手順で説明されています。
  8. 「次へ」をクリックします。
  9. 「外部リソースを使用」を選択して、「参照」をクリックします。
  10. ワークスペースから OrderService.wsdl ファイルを探し出し、「OK」をクリックします。
  11. 「次へ」をクリックします。
  12. 「終了」をクリックします。WSDL ファイルに基づいて、ブランクのメッセージ・フローと、メッセージ・セットが作成されます。
  13. WebServiceAsyncServerFlow メッセージ・フローに以下のノードを追加します。

    ノード・タイプ ノード名
    SOAPInput SOAP Input
    RouteToLabel Route WS Operation
    Label submitPO
    Compute Compute Response
    SOAPReply SOAP Reply

  14. 以下の表に示すようにノードを接続します。

    ノード名 ターミナル 接続先のノード
    SOAPInput Out Route WS Operation
    submitPO Out Compute Response
    Compute Response Out1 SOAP Reply

    ノートの接続について詳しくは、WebSphere Message Broker 資料のメッセージ・フロー・ノードの接続を参照してください。

    下の図は、ノードが相互に接続された WebServiceAsyncServerFlow メッセージ・フローを示しています。


    WebServiceAsyncServerFlow メッセージ・フローの画面取り
  15. 「AsyncWebServiceMessages」プロジェクトから SOAP Input ノードに OrderService.wsdl をドラッグします。 OrderService.wsdl ファイルは、「AsyncWebServicMessages」>「AsyncWebServicMessages」>「Deployable WSDL」の順に選択すると見つかります。
  16. SOAP Input ノードのプロパティーの「WS 拡張」タブにある「WS-Addressing の使用」を選択します。 WS-Addressing ヘッダーは、この Web サービスのすべての SOAP メッセージで使用されます。
  17. 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 サンプルの作成」に戻る