CallProfile
Gruppe |
|
Funktion |
Die Klasse ruft ein nicht cron-basiertes Folgeprofil direkt auf und kann dessen Antwort, die mit der Klasse DefaultWebServiceResponse gesendet wird, entgegennehmen und weiterreichen. |
Konfigurationsdatei |
Keine. |
Beschreibung
Diese Klasse stellt eine Erweiterung der Funktionalität der Klassen DefaultWebServiceResponse und PassBackDataResponse (ebenso DefaultWebServiceResponseBinary und PassBackBinaryDataResponse) zur Verfügung, welche in der Lage ist die Zieldaten eines Profils (mit Eingangsagent HTTP) an einen aufrufenden HTTP-Client zurückzusenden.
Ist es notwendig eine Kette von Profilen aufzubauen, würde man das normalerweise per Message an das Folgeprofil machen, allerdings wäre dann die Rückantwort an den HTTP-Client vom Folgeprofil aus nicht mehr möglich. Die Klasse CallProfile ist nun in der Lage ein Folgeprofil (muss aktiv sein und darf keinen Eingangsagenten vom Typ Cron Job haben) direkt aufzurufen. Das Encoding muss im Folgeprofil zwingend auf UTF8 gestellt werden. Wenn nun im Folgeprofil die Klasse DefaultWebServiceResponse verwendet wird, kann die aufrufende Klasse CallProfile die Rückantwort der Klasse DefaultWebServiceResponse entgegennehmen und an den HTTP-Client (der ursprünglich das erste Profil aufgerufen hatte) weiterreichen.
Das Verfahren ähnelt einer Profil-Verkettung durch Message, aber das Zielprofil muss nicht den Eingangsagent Message verwenden. Im Feld Zusätzlicher Parameter muss der Name des aufzurufenden Folgeprofils eingetragen werden.
Variablen
Siehe einleitend auch den Abschnitt Variablen mit Präfix MSG_CALL_.
Diese Klasse liefert die Werte von Variablen mit Präfix MSG_CALL_ und System-Variablen VAR_RESPONSE_HTTP_HEADER_* zurück vom aufgerufenen Profil, wenn diese auch im aufrufenden Profil definiert sind. Am einfachsten ist dies anhand eines Beispiels darstellbar.
Profil A hat einen Eingangsagenten des Typs HTTP.
Profil A hat die Variable MSG_CALL_Demo definiert. Deren Wert nach dem Mapping ist hello.
Profil A hat die Variable VAR_RESPONSE_HTTP_HEADER_resp_status definiert. Deren Wert ist nach dem Mapping 200.
Profil A ruft in Phase 6 mittels Klasse CallProfile das Profil B.
Profil B hat ebenfalls eine Variable MSG_CALL_Demo definiert und setzt den Wert auf hello world.
Profil B hat zudem auch eine Variable VAR_RESPONSE_HTTP_HEADER_resp_status definiert und setzt den Wert auf 202.
Profil B hat Variable VAR_RESPONSE_HTTP_HEADER_limbo definiert und setzt den Wert auf 202.
Profil B verwendet in Phase 6 die Klasse PassBackDataResponse oder DefaultWebserviceResponse.
Profil A hat am Ende den Wert hello world für seine Variable MSG_CALL_Demo und den Wert 202 für seine Variable VAR_RESPONSE_HTTP_HEADER_resp_status. In einem weiteren Antwortweg in Phase 6 können diese Werte nun verwendet werden und mit einem zweiten Antwortweg mit der eigenen Klasse DefaultWebserviceResponse an den HTTP-Aufrufer zurückgereicht werden. Da Profil A keine Variable VAR_RESPONSE_HTTP_HEADER_limbo definiert hat, wird der Wert nicht übernommen.