TsgcWSPServer_WAMP이벤트 › OnCall

OnCall 이벤트

클라이언트가 원격 프로시저를 호출할 때 발생합니다. 핸들러는 CallResult, CallProgressResult 또는 CallError를 통해 응답해야 합니다.

구문

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

기본값

설명

CallId는 호출자가 선택한 식별자이며 응답에 다시 인용되어야 합니다. ProcUri는 전체 프로시저 URI입니다(접두사가 이미 해석됨). Arguments는 CALL 배열의 나머지 항목을 JSON 인코딩된 페이로드로 담습니다 — 숫자, 문자열, 객체, 배열 또는 다중 인수 호출의 경우 쉼표로 구분된 시퀀스. 각 CALL에 대해 핸들러는 정확히 하나의 최종 응답을 생성해야 합니다: 성공 시 CallResult를 호출하고, 실패 시 CallError를 호출하거나, 부분 결과를 호출자에게 스트리밍할 때는 0개 이상의 CallProgressResult 프레임 다음에 최종 CallResult를 호출하십시오.

예제


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;

이벤트로 돌아가기