TsgcWSPServer_WAMP › Eventos › OnCall
Se activa cuando un cliente invoca un procedimiento remoto; el controlador debe responder mediante CallResult, CallProgressResult o CallError.
property OnCall: TsgcWSCallEvent;
// TsgcWSCallEvent = procedure(Connection: TsgcWSConnection; const CallId, ProcUri, Arguments: string) of object
—
CallId es el identificador elegido por el llamador y debe devolverse en la respuesta. ProcUri es el URI completo del procedimiento (cualquier prefijo ya ha sido resuelto). Arguments lleva los elementos restantes del array CALL como payload codificado en JSON: número, cadena, objeto, array o una secuencia separada por comas para llamadas con múltiples argumentos. Para cada CALL, el manejador debe producir exactamente una respuesta terminal: llame a CallResult en caso de éxito, CallError en caso de error, o cero o más frames CallProgressResult seguidos de un CallResult final cuando se devuelvan resultados parciales al llamador.
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;