1

私は大学のプロジェクトのために銀行の Web サービスを行っています。これは口座情報と金額を受け取り、口座からお金を引き出し、応答として確認メッセージを送信します。

私が探しているのは、クライアント側からエラーを管理する方法です。トランザクションを実行できたが、何らかの理由でクライアントが失敗した場合、そのお金が失われた場合、クライアント側の操作が成功したかどうかをどのように知ることができますか?

-- 編集 -- 例: 銀行 A - その他、銀行 B - 私。ある人が銀行 A に行き、銀行 B からの小切手を預けるために、彼は私の Web サービスを使用して取引を行い、私は引き出しを行い、OK メッセージを返しますが、銀行 A が口座にお金を追加する前に、何か失敗します。だから今、私は引き出しをしましたが、銀行Aが取引に失敗したため、その人は実際にはお金を持っていません.

4

2 に答える 2

1

私が理解している場合、あなたはクライアントがあなたの「銀行」から引き出しを行う機能を提供するために Web サービスを使用したいと考えています。

たとえば、サービスを呼び出して引き出しを開始すると、トランザクションが開始され、サービスがその金額が引き出されることを期待していることを確認します。(おそらく、トランザクションが終了するまでそのお金を引き出すことができないようにロックし、時間を計って、トランザクションが x 秒後に自動的に失敗するようにします)

次に、クライアントはその情報を使用して何でもします。たとえば、2 番目の「銀行」を呼び出します。他の銀行から金額が追加されたというメッセージを受け取ると、システムでサービスを呼び出してトランザクションを「送信」し、実際に金額を引き出します。

于 2010-11-18T16:30:23.433 に答える
1

問題は、クライアントが一方の銀行からお金を引き出し、他方の銀行に預けることを信頼していることです。本当に?涼しい!多額のお金を「受け取った」と主張する API 呼び出しをいくつか行う予定です。ムワハハハ!

真剣に、クライアントが小切手を受け取って銀行 A に提示する必要があります (1 つの API 呼び出し)。次に、銀行 A は銀行 B に小切手を提示し、資金を受け取ります。(別の API 呼び出し)。その後、クライアントは銀行 A に連絡して、口座残高が増えていることを確認できます。クライアントが銀行 B に連絡することはありません。その後、クライアントは 1 つの API 呼び出しのみを行い、例のようにシステムを壊すことはできません。

于 2010-11-18T16:46:44.477 に答える