Web-Service mit einem SOAP-Connector aufrufen

Sobald Sie wissen, dass der Web-Service korrekt funktioniert, sollten Sie den Service in Process Designer testen.

Vorbereitende Schritte

Um diese Task ausführen zu können, müssen Sie sich im IBM® Process Designer-Desktopeditor befinden, der allerdings nicht weiter unterstützt wird.

Informationen zu diesem Vorgang

Die folgenden Schritte zeigen, wie Sie Ihren Web-Service testen können.

Die nachfolgenden Schritte mit zugehörigen Screenshots aus einer früheren Versionen enthält der folgende technische Hinweis (technote) unter technische Hinweise.

Vorgehensweise

  1. Öffnen Sie den Desktop-Editor von Process Designer (nicht weiter unterstützt).
  2. Öffnen Sie eine Prozessanwendung in der Ansicht "Designer".
  3. Klicken Sie auf das Pluszeichen neben der Kategorie 'Implementierung' und wählen Sie Implementierungsservice aus.
  4. Geben Sie in dem angezeigten Dialogfenster einen Namen ein und klicken Sie auf Fertigstellen.
  5. Erweitern Sie unterhalb von TOOLKITS das Element SystemData und wählen Sie Implementierung aus. Suchen Sie die Komponente WebService über SOAP aufrufen und ziehen Sie sie in das Diagramm.
  6. Ziehen Sie ein Element Server-Scriptlet aus der Palette auf der rechten Seite in Ihr Diagramm. Platzieren Sie das Element links neben WebService über SOAP aufrufen.
  7. Verbinden Sie die Linien. Das Element Start sollte mit dem Server-Scriptlet Ohne Titel verbunden werden. Das Server-Scriptlet Ohne Titel sollte mit dem Element WebService über SOAP aufrufen verbunden werden. Das Element WebService über SOAP aufrufen sollte mit dem Element Ende verbunden werden.
  8. Wählen Sie die Komponente WebService über SOAP aufrufen aus. Wählen Sie die Registerkarte Datenzuordnung in der Ansicht Eigenschaften aus. Sie müssten nun in der Lage sein, alle erforderlichen Eingaben anzugeben, ausgenommen die Eingabe request.
    • wsdlURL ist die URL-Adresse zugeordnet.
    • serviceNS ist der Wert targetNamespace zugeordnet.
    • serviceName ist der Wert service name zugeordnet.
    • destinationAddress ist der Wert soap:address location zugeordnet.
    • soapAction ist der Wert soap:operation soapAction zugeordnet.
  9. Das Eingabeelement request enthält Ihre Eingabevariablen. In diesem Beispiel wird das Server-Scriptlet verwendet, um die XML-Eingabe zu erstellen.
    1. Öffnen Sie die Registerkarte 'Variablen' und erstellen Sie eine neue private Variable mit dem Namen request und dem Typ XMLElement.
    2. Kehren Sie zur Diagrammansicht zurück und benennen Sie das Server-Scriptlet in Anforderung festlegen um.
    3. Wählen Sie die Registerkarte Implementierung in der Ansicht Eigenschaften für das Server-Scriptlet aus und binden Sie die Implementierung an Ihre Variable 'request'. Klicken Sie auf Auswählen und danach auf die Variable request im Menü.
    4. Kopieren Sie Ihre gesamte XML-Eingabe aus soapUI und fügen Sie sie in die Implementierung des Server-Scriptlets ein.
    5. Binden Sie Ihre Variable request an die Anforderungseingabe des SOAP-Connectors. Kehren Sie zum Abschnitt Datenzuordnung der Komponente WebService über SOAP aufrufen zurück und ordnen Sie mithilfe der Option Auswählen das Element request (XMLElement) der Variablen 'request' zu, die Sie eben erstellt haben.
  10. Erstellen Sie auf ähnliche Weise eine Variable response mit dem Typ XMLElement und binden Sie sie an die Ausgabe des SOAP-Connectors, d. h. an die Komponente WebService über SOAP aufrufen. Nach diesem Schritt sollten Sie in der Lage sein, Ihren Service mit fest codierten Werten zu testen.
  11. Führen Sie den Service im Debugmodus aus, um zu sehen, wie die Antwort in die Variable 'response' eingefügt wird. Wenn dieser Vorgang korrekt ausgeführt wird, können Sie als nächstes Eingabevariablen zu Ihrem Service hinzufügen und diese Variablen Ihrer Variablen 'request' im Server-Scriptlet zuordnen. Das folgende Beispiel enthält nur eine einzige Eingabe:
    1. Fügen Sie eine Eingabevariable zu Ihrem Service hinzu.
    2. Verwenden Sie die Notation <#= #>, um JavaScript-Code in Ihr Server-Scriptlet einzufügen. Wenn Ihre Eingabevariable beispielsweise 'degreesF' heißt, lautet der Implementierungscode, der auf sie verweist, <# = tw.local.degreesF #>. Jetzt legt Ihre Serviceeingabe die Eingabe für den SOAP-Connector fest.
  12. Verwenden Sie XPath, um Ihre Antwortvariable (response) den entsprechenden Ausgaben zuzuordnen. In diesem Beispiel wird eine einzige Ausgabevariable (_degreesC) verwendet.
    1. Fügen Sie ein Server-Script am Ende Ihres Service hinzu.
    2. Verwenden Sie XPath, um die XML-Antwort den Ausgabevariablen zuzuordnen. Beispiel:
      1. Der folgende XPath-Ausdruck gibt eine Knotenliste aller Knoten 'Page' bis zum Knoten 'VisioDocument/Pages' zurück:
        xml.xpath("VisioDocument/Pages/Page");
        Probieren Sie aus, ob in der verwendeten XML-Struktur ein Schrägstrich am Anfang angegeben werden muss.
      2. Der folgende XPath-Ausdruck gibt eine Knotenliste aller Knoten 'Master' zurück, deren Attribut 'NameU' mit dem Wert 'Horizontal holder' übereinstimmt:
        xml.xpath("VisioDocument/Masters/Master[@NameU='Horizontal holder']");
      3. In beiden Fällen müssen Sie den Knotenpfad und den Namensbereich kennen. Der folgende XPath-Ausdruck ignoriert die Tiefe und die Namensbereiche. Er entspricht dem Ausdruck 'i', jedoch wird der Namensbereich und die Tiefe des Knotens 'Page' ignoriert:
        xml.xpath = "//*[local-name()='Page']";
        In jedem Fall ist das Ergebnis eine Knotenliste, die ungefähr wie folgt verwendet werden kann:
        var nodeList = xml.xpath(...);
        tw.local.objArray = new tw.object.listOf.myObj();
        for (var i=0;i<nodeList.length;i++) {
         var obj = new tw.object.myObj();
         //Wenn der Knoten 'name' immer ein untergeordnetes Element ist
         obj.name = nodeList[i].name[0].getText();
         tw.local.objArray[tw.local.objArray.listLength] = obj;
        }