TsgcWSPServer_WAMPメソッド › CallResult

CallResult メソッド

成功した RPC の結果を含む CALLRESULT 返信(メッセージタイプ 3)を呼び出し元に送信します。

構文

procedure CallResult(const aCallId: String; const aResult: String = '');

パラメータ

名前タイプ説明
aCallIdconst Stringクライアントが最初にリモート手続きを呼び出したときに生成された識別子。応答を保留中の呼び出しと関連付けるために使用されます。
aResultconst String呼び出し元に返される結果ペイロード。文字列としてシリアライズされた任意の値(数値、引用符付きテキスト、JSON オブジェクト、JSON 配列など)が使用できます。

解説

リモートプロシージャの実行が正常に完了した後、OnCall ハンドラー内(または後で非同期)からこのメソッドを呼び出します。サーバーは aCallId に関連する接続を検索し、WAMP CALLRESULT フレーム [3, CallID, Result] をシリアライズして呼び出し元にディスパッチし、保留リストから呼び出しを削除します。aCallId が見つからない場合(呼び出しが登録されなかった、またはすでに返信済み/キャンセル済み)、メソッドは何もしません。複数のチャンクを生成する RPC の場合、中間部分には CallProgressResult を使用し、最後のチャンクには CallResult を使用します。失敗を報告するには代わりに CallError を使用してください。

使用例

procedure TForm1.sgcWSPServer_WAMP1Call(Connection: TsgcWSConnection;
  const CallId, ProcURI: string; Arguments: TStringList);
begin
  if ProcURI = 'com.example.add' then
    sgcWSPServer_WAMP1.CallResult(CallId, '42');
end;

メソッドに戻る