Iterate メディエーターを機能させ、別の外部エンドポイントにコールアウトさせるのにほとんど問題はありません。ただし、Sequencing を True に設定するか False に設定するかに関係なく、ESB はすべての要求をかなり高速に送信するように思えます (ログによると)。この迅速なリクエスト送信により、エンドポイントが指している外部 Web サービスで問題が発生しているようです。Iterateが機能するためにxmlに1つのアイテムがある場合、すべて問題ありません。しかし、2回以上反復すると、あらゆる種類のエラーが発生します。
そのため、反復メディエーターでこの外部エンドポイントを呼び出し、応答を待ってから、次の要求で外部エンドポイントを呼び出すことができるのではないかと考えています。WSO2 ESB でそれを達成するにはどうすればよいですか?
コードでそれを行う必要がある場合は、リクエストを配列に入れ、配列のサイズでカウンターを設定します。次に、配列から最初の項目を取得し、Web サービスを呼び出します。応答が返ってきたら、最初にそれを結果配列に入れます。カウンターを 1 増やします。次に、リクエスト配列にさらに項目があるかどうかを確認し、ある場合は次の呼び出しを行います。