TsgcWSPServer_WAMP › Ereignisse › OnCall
Wird ausgelöst, wenn ein Client eine Remote-Prozedur aufruft; der Handler muss über CallResult, CallProgressResult oder CallError antworten.
property OnCall: TsgcWSCallEvent;
// TsgcWSCallEvent = procedure(Connection: TsgcWSConnection; const CallId, ProcUri, Arguments: string) of object
—
CallId ist der vom Aufrufer gewählte Bezeichner und muss in der Antwort zurückgegeben werden. ProcUri ist die vollständige Prozedur-URI (jegliches Präfix wurde bereits aufgelöst). Arguments trägt die verbleibenden Elemente des CALL-Arrays als JSON-codierte Nutzlast — Zahl, Zeichenfolge, Objekt, Array oder eine durch Kommata getrennte Sequenz für Mehrfachargument-Aufrufe. Für jeden CALL wird vom Handler erwartet, genau eine abschließende Antwort zu erzeugen: Rufen Sie CallResult bei Erfolg, CallError bei Fehlschlag oder null oder mehr CallProgressResult-Frames gefolgt von einem abschließenden CallResult auf, wenn Sie Teilergebnisse als Stream an den Aufrufer zurücksenden.
procedure TForm1.WAMPServerCall(Connection: TsgcWSConnection;
const CallId, ProcUri, Arguments: string);
begin
if ProcUri = 'http://example.com/rpc/add' then
WSPServerWAMP1.CallResult(Connection, CallId, '42')
else
WSPServerWAMP1.CallError(Connection, CallId,
'http://example.com/errors/not-found', 'unknown procedure');
end;