Event "bei WebService-Anforderung"
Event "bei WebService-Anforderung"
Der Aufruf erfolgt auf Anforderung des IBeCBService-WebService durch eine externe Applikation.
Der Event ist nur verfügbar, wenn BE im WebSevice-Server (WSS) Modus gestartet wurde (Parameter: /WebService).
Der cServiceID-Parameter ist alphanumerisch und wird von der externen Applikation zur Identifizierung des konkret angeforderten WebService übergeben.
Der uParam-Parameter wird von der externen Applikation zur Übergabe beliebiger Parameter verwendet.
Er kann somit einen beliebigen Codeblock-kompatiblen Wert enthalten (Alphanumerisch, Numerisch, Integer, Datum, Logisch, Array).
Die Rückgabe des Events darf ein beliebiger Codeblock-kompatibler Wert sein und wird entsprechend dem uParam-Parameter an die externe Applikation zurückgegeben.
Achtung: Es ist nicht zulässig Objekte als Rückgabe zu verwenden (d.h. Tabellen, Datenmodule, Fenster, etc. sind nicht erlaubt)!
Achtung: Die Verwendung des BeDataItem-Typs (mittels Methode ExecuteService) funktioniert nicht einwandfrei. Die Verwendung des Types String (mittels Methode ExecuteServiceStr) macht dagegen keine Probleme.
Hinweise für die Entwicklung der externen Applikation:
Die Übergabe an den WebService (Param) bzw. Rückgabe des WebService wird über folgende Interface-Klasse transportiert:
Klasse: | TBeDataItem |
---|---|
Eigenschaften: DataType : je nach Inhalt (1 Zeichen, string), wird eine der unten aufgeführten |
Beispiel
| nEvtNo:P1, cServiceID:P2:='', uParam:P3, cRes |
// Ausführen einer BE-WebService Anfrage
// cServiceID : Individuelle Event-ID
// uParam : Parameter (Typ frei wählbar)
cRes := 'ID: ' + cServiceID + crlf,
if not Empty(uParam) then
if not Empty(uParam) and ALen(uParam) > 0 then
cRes := 'Data: ' + ArrToStr(uParam)
else
cRes := 'Data: ' + cRes
endif,
endif,
// { 'A', 1, True, 1.23, STOD('20071231'), { 'B', 1 } } // würde in o.a. Datentyp umgewandelt. Kann evtl. in Java nicht korrekt ausgewertet werden.
// alternativ kann auch einfach nur ein String zurück gegeben werden
'Rückgabe'