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
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.
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.
Um den Einfachen Web-Service-Aufrufer
nutzen zu können, gehen Sie, wie folgt, vor:
Ö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))
Legen Sie eine Agenteninstanz auf Basis eines Quellsystems an, das den Benachrichtigungsprozess unterstützt.
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.
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
Legen Sie eine Benachrichtigung an und erzeugen Sie im Register Ausgabe
Ausgabeausdrücke, die Sie dann 1:1 mit den jeweiligen Subskriptionselementen verbinden.
Hinweis
Verbinden Sie nicht mehrere Subskriptionselemente in einem Ausgabeausdruck!
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
Die kundenspezifische Logik erscheint als /Destination System for Customer-Specific Logic
in der Zielsystemauswahlliste.
Im Bildbereich Zuordnung der Kundenlogik-Module zu Zielsystemen und Agenten
nehmen Sie die folgenden Einstellungen vor:
Ordnen Sie Ihre Agenteninstanz dem Modul Agent
zu.
Ordnen Sie Ihr Zielsystem vom Typ Web Service Destination
dem Modul WS_Call
zu.
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.
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.
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.