TsgcWSPServer_WAMP › Événements › OnCall
Se déclenche lorsqu'un client invoque une procédure distante ; le gestionnaire doit répondre via CallResult, CallProgressResult ou CallError.
property OnCall: TsgcWSCallEvent;
// TsgcWSCallEvent = procedure(Connection: TsgcWSConnection; const CallId, ProcUri, Arguments: string) of object
—
CallId est l'identifiant choisi par l'appelant et doit être cité dans la réponse. ProcUri est l'URI complet de la procédure (tout préfixe a déjà été résolu). Arguments porte les éléments restants du tableau CALL sous forme de charge utile encodée en JSON — nombre, chaîne, objet, tableau ou séquence séparée par des virgules pour les appels à plusieurs arguments. Pour chaque CALL, le gestionnaire doit produire exactement une réponse terminale : appelez CallResult en cas de succès, CallError en cas d'échec, ou zéro ou plusieurs trames CallProgressResult suivies d'un CallResult final lors du renvoi de résultats partiels en streaming à l'appelant.
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;