TsgcWSPServer_WAMPOlaylar › OnCall

OnCall Olay

Bir istemci bir uzak prosedür çağırdığında tetiklenir; işleyici CallResult, CallProgressResult veya CallError aracılığıyla yanıt vermelidir.

Sözdizimi

property OnCall: TsgcWSCallEvent;
// TsgcWSCallEvent = procedure(Connection: TsgcWSConnection; const CallId, ProcUri, Arguments: string) of object

Varsayılan Değer

Remarks

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.

Örnek


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;

Olaylara Dön