0

いくつかの操作を実行し、それらの操作をコミットするための戻り値/アクションを期待するメソッドを含むWebサービスを作成することは可能ですか?

いくつかの値を返すメソッドが必要です。これらの値を返すプロセスでは、いくつかのデータを挿入する必要があります。それらの戻り値を受け取った後、それらを処理できることを確認してから、最初のメソッドをコミットする必要があります。

メソッドがフラグ/コミット/その他を受け取らない場合、挿入はロールバックされます。

これは可能ですか?(言い回しがはっきりしない場合は申し訳ありませんが、私が不安定であることを願っています)

これを行っているのは、データのセットを取得する必要があるためです。つまり、通常のSQLで返されるのが遅くなります。その(フォーマットされた)データを(Webサービスを使用して)サーバー上で圧縮し、メソッドに圧縮されたバイナリ型で返してもらうことを計画しています。そのzipされたバイナリの取得または処理で問題が発生した場合は、プロセス全体をロールバックできる必要があります。

4

3 に答える 3

1

単一のWebサービス呼び出しでWebサービス応答を受信した後、Webサービス終了時にコミットを実行することはできません。恐れ入ります。Http Webサービスはステートレスであり、セッションを使用してステートフルにすることができます。2つのサービスを作成できます。1つは応答の受信用で、もう1つはコミットの実行用です。これらの2つの呼び出しの間に、役立つ場合はセッションを使用できます。

  1. 値のセットを受け取るために呼び出します。次の呼び出しタイムアウトのセッションを設定できます。たとえば、最初の呼び出しでトランザクションを開始しないでください。結果を返すだけです。結果がトランザクションでセーブデータをコミットする要件に従っている場合。DBレコードに、最初の呼び出しで不完全なトランザクションを示すフラグを設定し、2番目の呼び出しでトランザクションをコミットまたは削除して、それに応じてフラグを設定できます。

  2. 最初の呼び出し結果に基づいてコミットを呼び出し、データを保存するためにここにトランザクションを配置します。

于 2012-09-29T18:27:42.753 に答える
0

2つのWebサービスが必要だと思います(私があなたの質問を正しく理解している場合)。最初のものはアクションを実行し、値を返します。呼び出し側プログラムが戻り値を確認すると、2番目のWebサービスを呼び出してコミットを実行します。わかる?

于 2012-09-29T18:28:50.593 に答える
0

解決策はこのようにすべきだと思います。

Method 1 - Create record and return the uid of it. Insert record in pending state
 Method 2 - Take parameter of created record and operation (approve or reject). Change the state of the record entered in method1.
于 2012-09-29T18:33:18.673 に答える