Web-Service-Nachrichtenfluss und -Nachrichtengruppe erstellen

Erstellen Sie nach den folgenden Anweisungen den Web-Service-Nachrichtenfluss und -Nachrichtengruppe aus einer WSDL-Definition.

  1. Speichern Sie die Datei OrderService.WSDL in Ihrem Arbeitsbereich (Beispiel: C:\Dokumente und Einstellungen\<Benutzername>\IBM\wmbt80\workspace\OrderService.wsdl).
  2. Klicken Sie in der Ansicht 'Brokerentwicklung' auf Von WSDL- und/oder XSD-Dateien ausgehen. Daraufhin wird der Assistent zum Schnelleinstieg geöffnet.
  3. Geben Sie im Feld Name des Nachrichtenbrokerprojekts den Eintrag AsyncWebServiceFlows ein.
  4. Geben Sie im Feld Name des Nachrichtengruppenprojekts den Eintrag AsyncWebServiceMessages ein.
  5. Geben Sie im Feld Name der Nachrichtengruppe den Eintrag AsyncWebServiceMessages ein.
  6. Geben Sie im Feld Name des Nachrichtenflusses den Eintrag AsyncWebSebServiceServerFlow ein.
  7. Inaktivieren Sie die Option Neuen Arbeitsbereich für diese Ressourcen erstellen. Das folgende Diagramm zeigt die angegebenen Werte für den Assistenten für den Schnelleinstieg:
    Screenshot des Assistenten für den Schnelleinstieg. Die Werte werden im obigen Text beschrieben.
  8. Klicken Sie auf Weiter.
  9. Wählen Sie Use external resources (Externe Ressourcen verwenden) aus und klicken Sie auf Durchsuchen.
  10. Suchen Sie im Arbeitsbereich nach der Datei OrderService.wsdl und klicken Sie auf OK.
  11. Klicken Sie auf Weiter.
  12. Klicken Sie auf Fertigstellen. Daraufhin werden ein leerer Nachrichtenfluss und eine Nachrichtengruppe auf Grundlage der WSDL-Datei erstellt.
  13. Fügen Sie dem Nachrichtenfluss 'WebServiceAsyncServerFlow' folgende Knoten hinzu.

    Knotentyp Knotenname
    SOAPInput SOAP Input
    Knoten zur Weiterleitung an Zieladressen Route WS Operation (WS-Operation weiterleiten)
    Label submitPO (PO senden)
    Rechnen Compute Response
    SOAPReply SOAP Reply-Knoten

  14. Verbinden Sie die Knoten entsprechend den Anweisungen in der nachfolgenden Tabelle miteinander.

    Knotenname Terminal Mit diesem Knoten verbinden
    SOAPInput Ausgangsterminal Route WS Operation (WS-Operation weiterleiten)
    submitPO (PO senden) Ausgangsterminal Compute Response
    Compute Response Ausgangsterminal1 SOAP Reply-Knoten

    Weitere Informationen zur Verbindung von Knoten finden Sie in der Dokumentation zu WebSphere Message Broker im Abschnitt Nachrichtenflussknoten verbinden.

    Das nachfolgende Diagramm zeigt den Nachrichtenfluss 'WebServiceAsyncServerFlow' mit miteinander verbundenen Knoten:


    Screenshot des Nachrichtenfluss 'WebServiceAsyncServerFlow'
  15. Ziehen Sie OrderService.wsdl aus dem Projekt 'AsyncWebServiceMessages' in den SOAP Input-Knoten. Die Datei OrderService.wsdl finden Sie in AsyncWebServicMessages > AsyncWebServicMessages > Implementierbare WSDL.
  16. Aktivieren Sie auf der Registerkarte WS-Erweiterungen der Eigenschaften des SOAP Input-Knotens die Option WS-Adressierung verwenden. WS-Adressierungsheader werden in allen SOAP-Nachrichten für diesen Web-Service verwendet.
  17. Klicken Sie doppelt auf den 'Compute Response'-Knoten und fügen Sie das folgende Modul in die ESQL-Datei ein:
    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;

Jetzt können Sie die Client-Treiber-Nachrichtengruppe erstellen. Informationen hierzu finden Sie im Abschnitt Client-Treiber-Nachrichtengruppe erstellen.

Zurück zur Erstellung des Mustercodes 'Asynchronous Consumer'