Show TOC

HintergrundEinfacher Web-Service-Aufrufer

 

Der Einfache Web-Service-Aufrufer ist eine von SAP ausgelieferte Implementierung der kundenspezifischen Logik, die es erlaubt, einen Web-Service mit den Tagwerten eines Quellsystems aufzurufen und die Daten aus der Antwortnachricht des Web-Services an das Quellsystem zurückzugeben.

Hinweis Hinweis

Anders als bei einer Kundenspezifischen Logik, die Sie selbst entwerfen, entfällt für Sie beim Einfachen Web-Service-Aufrufer der Implementierungsaufwand in einer Integrierten Entwicklungsumgebung (IDE), z. B. Microsoft Visual Studio. Die Implementierung des Einfachen Web-Service-Aufrufers finden Sie als Datei SimpleWebServiceCaller.dll im PCo-Systemverzeichnis. Sie müssen diese Datei lediglich als Dynamic Link Library für die kundenspezifische Logik auswählen und die Konfigurationsschritte in der PCo-Management-Console ausführen.

Ende des Hinweises

 

Mithilfe des Einfachen Web-Service-Aufrufers können Sie einen Web-Service mit den Werten eines Quellsystems aufrufen und das Ergebnis des Web-Services an das Quellsystem zurückgeben. Die Verknüpfung der Quellsystem-Tags mit den Variablen des Web-Services erfolgt durch eine einfache Konfiguration in der PCo Management Console.

Die folgende Abbildung verdeutlicht das Funktionsprinzip des Einfachen Web-Service-Aufrufers:

Die Tags eines Quellsystems, z. B. eines OPC-UA-Servers, werden mit den Request- und Response-Message-Variablen des ausgewählten Web-Services durch die Konfiguration in einer Agenteninstanz verknüpft. Für die Agenteninstanz haben Sie Subskriptionselemente auf der Basis der Quellsystem-Tags sowie eine Benachrichtigung mit Ausgabeausdrücken definiert, welche die Subskriptionselemente mit den Request-Message-Variablen des Zielsystems vom Typ Web Service Destination verknüpfen. Die Response-Message-Variablen des Zielsystems (Typ Web Service Destination) sind auf dieselbe Weise über Ausgabeausdrücke und Subskriptionselemente mit den Tags der Datenquelle verbunden.

Aktivitäten

Um den Einfachen Web-Service-Aufrufer nutzen zu können, gehen Sie, wie folgt, vor:

  1. Öffnen Sie die PCo-Management-Console und legen Sie ein Zielsystem vom Typ Web Service Destination an. Nehmen Sie die erforderliche Konfiguration des Web-Service vor. (Siehe auch:Zielsystem: Register Server-Einstellungen (Web Service Destination) und Zielsystem: Register Konfiguration der Operation (Web Service Destination))

  2. Legen Sie eine Agenteninstanz auf Basis eines Quellsystems an, das den Benachrichtigungsprozess unterstützt.

  3. Wählen Sie das Register Kundenspezifische Logik Ihrer Agenteninstanz. Wählen Sie im Feld Dynamic Link Library die Datei SimpleWebServiceCaller.dll aus dem PCo-Systemverzeichnis aus. Legen Sie anschließend ein Zielsystem für die kundenspezifische Logik an, indem Sie die Funktionstaste Zielsystem anlegen wählen.

  4. Im Register Subskriptionselemente legen Sie die Subskriptionselemente für alle Quellsystem-Tags an, die Sie während des Vorgangs lesen und schreiben wollen. (Siehe auch: Agenteninstanz: Register Subskriptionselemente

  5. Legen Sie eine Benachrichtigung an und erzeugen Sie im Register Ausgabe Ausgabeausdrücke, die Sie dann 1:1 mit den jeweiligen Subskriptionselementen verbinden.

    Hinweis Hinweis

    Verbinden Sie nicht mehrere Subskriptionselemente in einem Ausgabeausdruck!

    Ende des Hinweises

    Im Register Trigger müssen Sie einen Trigger-Ausdruck definieren, damit der Aufruf des Web-Services nur dann erfolgt, wenn sich ein bestimmtes Quellsystem-Tag (im folgenden Trigger-Tag genannt) ändert. Das entsprechende Quellsystem-Tag muss vom Datentyp Integer sein und muss folgende Werte annehmen können:

    • 0: Der Trigger befindet sich in der Ausgangsstellung

    • 3: Das Parsen der Benachrichtungsmeldung ist fehlgeschlagen

    Definieren Sie daher im Register Trigger einen Trigger-Ausdruck, der die Benachrichtigung auslöst, sobald das Trigger-Tag auf einen Wert ungleich 0 oder 3 gesetzt wird, z. B. '[Name des Trigger-Tags]' == 1 und wählen Sie den Trigger-Typ OnTrue aus.

    Wählen Sie im Register Ziele als Ziel die kundenspezifische Logik aus und nehmen Sie die Modul- und Variablenzuordnung vor. (Siehe auch: Zuordnung von Modulen und Variablen (Kundenspezifische Logik))

    Hinweis Hinweis

    Die kundenspezifische Logik erscheint als /Destination System for Customer-Specific Logic in der Zielsystemauswahlliste.

    Ende des Hinweises

    Im Bildbereich Zuordnung der Kundenlogik-Module zu Zielsystemen und Agenten nehmen Sie die folgenden Einstellungen vor:

    1. Ordnen Sie Ihre Agenteninstanz dem Modul Agent zu.

    2. Ordnen Sie Ihr Zielsystem vom Typ Web Service Destination dem Modul WS_Call zu.

    3. Im Bildbereich Zuordnung der Variablen der Kunden-Logik im Register Zielvariablen verknüpfen Sie die Request- und Response-Message-Variablen des Web-Services mit den Variablen der Kunden-Logik. Wählen Sie aus der Liste der Variablen der Kunden-Logik die Ausgabeausdrücke aus, die zu den Datentypen der Web-Service-Variablen passen. Mithilfe der Drucktaste Zuordnung vorschlagen können Sie sich die Variablenzuordnung automatisch vorschlagen lassen. Voraussetzung hierfür ist, dass die Kundenlogik-Variablen den gleichen Namen haben wie eine Web-Service-Variable und der Variablentyp ebenfalls mit dem Variablentyp der Web-Service-Variablen kompatibel ist.

    4. In der Tabelle des Registers Agenten-Tags verknüpfen Sie die Quellsystem-Tags mit den Variablen der Kunden-Logik. In der Auswahlliste der Kunden-Logik-Variablen sehen Sie die zum Datentyp des Quellsystem-Tags passenden Ausgabeausdrücke und einige spezielle Variablen. Diese speziellen Variablen sind durch voran- und nachgestellte Ausrufezeichen gekennzeichnet:

      • !Trigger!

        Ordnen Sie dieser Kunden-Logik-Variablen das Trigger-Tag zu. Das Trigger-Tag wird nach erfolgreichem Aufruf des Web-Services auf den Ausgangswert 0 und im Fehlerfall, wenn das Parsen der Benachrichtigungsmeldung fehlgeschlagen ist, auf den Wert3 gesetzt.

      • !Response!

        Diese Kunden-Logik-Variable wird nach dem Ende des Einfachen Web-Service-Aufrufers auf den Wert 1 gesetzt.

      • !ERROR!

        Diese Kunden-Logik-Variable zeigt nach dem Durchlaufen des Einfachen Web-Service-Aufrufers an, ob der Web-Service-Aufruf erfolgreich (Wert ist 0) oder fehlerhaft (Wert ist 1) war.

      • !STATUS_MSG!

        Diese Kunden-Logik-Variable enthält nach Durchlaufen des Einfachen Web-Service-Aufrufers eine eventuelle Fehlermeldung.

  6. Starten Sie die Agenteninstanz. Eine Wertänderung des Trigger-Tags am Quellsystem von 0 auf den im Trigger-Ausdruck angegebenen Wert, z. B. 1, ruft den Web-Service auf. Das Ergebnis des Web-Service-Aufrufes sehen Sie am Quellsystem in den entsprechenden Tags, die Sie den Response-Message-Variablen und speziellen Kunden-Logik-Variablen zugeordnet haben. Das Trigger-Tag wird nach erfolgreicher Ausführung auf den Ausgangswert 0 oder im Fehlerfall auf den Wert 3 gesetzt.