1

さまざまな操作 (Web サービス呼び出しなど) を実行および実行するワークフロー サービスがあります。

これらの操作の 1 つが失敗した場合、エラー レポート Web サービスを呼び出して、ワークフロー操作の 1 つが失敗したことを別のシステムに通知します。エラーは Web サービスがダウンしているようなものである可能性があるため、この操作をループして、機能するまで再試行します。

ただし、この Web サービスに渡すデータに問題があり、変更が必要になる場合があります。したがって、この実行中の (ただし遅延している) ワークフローにフックし、ローカルのワークフロー変数を変更してから、操作を再実行できるようにする必要があります。

これを達成するために、ワークフロー 4.0 でメッセージ相関を調べましたが、実行中のワークフロー インスタンスで遅延アクティビティがアクティブであるため、2 番目のサービス呼び出しは何もしません (遅延アクティビティが他の要求をブロックしているようです)。

「CanCreateInstance」を true と false の両方に設定しようとしましたが、役に立ちません。

ありがとう!

4

2 に答える 2

1

Delay アクティビティを Parallel コンテナー内に配置する必要があり、その中に受信タスクも含まれます。これは、ループが処理されるのを待っている間、リクエストをリッスンすることを意味します。

メッセージ相関がどのように機能するかの例として、Tailspin Travelの例が非常に役に立ちました。「確認の待機」ボックス内の「承認の受信」タスクをチェックして、リクエストを結び付ける方法を確認します。

于 2011-03-06T18:07:00.373 に答える
0

これがあなたの問題に対する答えかどうかはわかりませんが、そうかもしれません。ワークフロー インスタンス ストアとプロパティ プロモーションを使用している場合は、次にワークフローが読み込まれるときにインスタンス ストアのプロパティを変更するオプションがあります。

于 2010-04-09T07:58:44.973 に答える