TsgcWSPServer_WAMP › Olaylar › OnCall
Bir istemci bir uzak prosedür çağırdığında tetiklenir; işleyici CallResult, CallProgressResult veya CallError aracılığıyla yanıt vermelidir.
property OnCall: TsgcWSCallEvent;
// TsgcWSCallEvent = procedure(Connection: TsgcWSConnection; const CallId, ProcUri, Arguments: string) of object
—
CallId, çağıran tarafından seçilen tanımlayıcıdır ve yanıtta geri alıntılanmalıdır. ProcUri, tam prosedür URI'sidir (herhangi bir önek zaten çözümlenmiştir). Arguments, CALL dizisinin kalan öğelerini JSON ile kodlanmış bir yük olarak taşır — sayı, dize, nesne, dizi veya çok argümanlı çağrılar için virgülle ayrılmış bir dizi. Her CALL için işleyicinin tam olarak bir terminal yanıt üretmesi beklenir: başarıda CallResult, başarısızlıkta CallError çağırın ya da kısmi sonuçları çağırana geri aktarırken sıfır veya daha fazla CallProgressResult çerçevesinin ardından son bir CallResult gönderin.
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;