SAP CPI のメッセージをステップごとにトレースする:iFlow デザイナーを離れずに確認
SAP CPI のログレベル TRACE が記録する内容、モニターでステップ前の内容を読む方法、そして iFlow のダイアグラム上でメッセージの経路とペイロードを追う方法を解説します。

iFlow が誤った結果を返したとき、問いはほぼいつも同じです。問題のステップの直前で、メッセージはどうなっていたのか。SAP Cloud Integration(SAP CPI)はこの問いに答えられますが、それはログレベル TRACE で処理されたメッセージに限られ、しかも答えは編集中のダイアグラムから何画面も離れたモニターの中にあります。
この記事では、トレースが何を記録するのか、SAP 自身のモニターでそれを読む方法、そして Kitegra を使って同じトレースをダイアグラム上でステップごとに追う方法を説明します。
トレースが記録するもの
すべてのメッセージは、メッセージ処理ログ(MPL)を残します。ステータス、開始と終了、実行したステップです。どこまで詳しく記録するかは、iFlow のログレベルで決まります。
| ログレベル | メッセージ処理ログに残る内容 |
|---|---|
| Info | 全体のステータス、所要時間、エラー(ある場合) |
| Debug | メッセージが実行した各ステップのエントリ |
| Trace | Debug の内容に加えて、各ステップの前のボディ、header、exchange property |
トレースの内容は調査のためのもので、保管用ではありません。SAP が保持するのは約 1 時間で、TRACE レベル自体も約 10 分で元に戻ります。そのため、確認したいメッセージは TRACE を設定した直後に流す必要があります。tenant に実際のペイロードが保存されるので、できるだけテストデータで使い、本番では社内のルールに従ってください。制限については TRACE が自動でオフになる理由で説明しています。
SAP のモニターでトレースを読む
- モニターで Manage Integration Content を開き、デプロイ済みの iFlow を選んで、ログレベルを Trace にします。
- 数分以内にメッセージを再送します。
- Monitor Message Processing でそのメッセージを開き、トレースのリンクからメッセージ処理の実行内容に移ります。
- 実行内容のダイアグラムでステップを選び、そのメッセージ内容(header、プロパティ、ペイロード)を開きます。
この方法でも確認できますが、ステップを 1 つ見るたびに何回もクリックが必要で、実行内容のダイアグラムは編集中のものとは別物です。しかも 10 分たつとログレベルを設定し直さなければなりません。
デザイナーから TRACE をオンにする
Kitegra では、デザイナーで iFlow を開き、ダイアグラムのツールバーにある「Kitegra ツール」ボタンをクリックして「メッセージ」を選びます(または Alt+Shift+M を押します)。パネルには、選んだランタイム上のその iFlow の最新メッセージが日ごとにまとめて表示され、ステータス、開始時刻、所要時間がわかります。トレースされたメッセージには TRACE マークが付き、新しいメッセージは届いたときに点滅します。
パネルのスイッチには「Trace: オフ」と表示されています。1 回クリックすると iFlow のログレベルが TRACE になり、スイッチは経過分数とともに「Trace: オン」と表示します。スイッチがオンで、その iFlow で作業している間は、SAP が戻す前に拡張機能が TRACE を設定し直します。最後の操作から 20 分たつと更新を止めます。オフにすると、iFlow の元のログレベルに戻ります。
Trace は tenant を変更する 4 つの操作の 1 つで、ほかの操作と同じく、クリックしたときだけ実行されます。
ダイアグラム上でメッセージを追う
- メッセージを送るか、次のメッセージを待ちます。メッセージは「メッセージ」パネルの一番上に表示されます。
- トレースされたメッセージで「図に表示」を選びます。通ったステップに色が付き、失敗したステップには印が付き、到達しなかったステップは薄く表示されます。
- 色の付いたステップをクリックします。「ステップ前の内容」パネルに、そのステップの前の「Body」、「ヘッダー」、「エクスチェンジプロパティ」と、ステップの「ログ」が表示されます。ステップが失敗した場合は「エラー」も表示されます。
- 「前へ」と「次へ」で、実行された順にステップをたどります。Splitter やループで複数回実行されたステップは、「このステップの実行 2 / 3」のように実行ごとに表示されます。
- 終わったら「図のマークを消去」を選びます。
メッセージが TRACE なしで実行された場合は、パネルにその旨が表示されます。SAP がメッセージのボディと header を保持するのは TRACE で実行されたときだけで、期間は約 1 時間です。
見つけた内容を活用する
- ペイロードビューアーでは、ボディを「整形」または「1 行」で表示でき、「折り返し」と「検索」に対応し、「コピー」や「ダウンロード」もできます。
- 「次のステップと比較」は、2 つのボディを「ペイロード比較」で並べて開くので、ステップが何を変えたのかを正確に確認できます。
- 「所要時間」は、かかった時間に応じてステップを最速(緑)から最遅(赤)まで色分けします。ステップにカーソルを合わせると時間が表示されます。
- 長い実行では、「読み込むステップ」でその iFlow について読み込むステップ数を設定できます。「すべて」も選べます。
- 失敗したメッセージでは、「概要」タブに失敗した場所が表示され、既知のエラーには「よくある原因:」も表示されます。
ID がわかっているメッセージを、この iFlow からでも tenant のほかの iFlow からでも開くには、Message ID または Correlation ID で SAP CPI のメッセージを探すを参照してください。
Kitegra でできること
Message Monitor は Kitegra の 5 つの領域の 1 つです。トレースの内容は顧客のデータです。拡張機能はそれをページ内に表示し、ボディをダウンロードできるようにしますが、保存、同期、Kitegra への送信は一切しません。
Helper、Message Monitor、iFlow Inspector、iFlow Docs は、それぞれ使用した iFlow の数をカウントします。Kitegra アカウントなしではモジュールごとに 5 つ、Free プランでは 50、Starter では 100、Pro では 300 で、Business は上限なしです。Toolbox とワークスペースの追加機能は無料です。プランを比較する。
次の iFlow で試してみましょう
Kitegra が SAP Integration Suite のデザイナーに何を加えるのかを読むか、Kitegra のほかの Chrome 拡張機能と並べて確認できます。
よくある質問
SAP CPI でメッセージのペイロードが見えないのはなぜですか?
SAP がメッセージのボディ、header、プロパティを保持するのは、ログレベル TRACE で実行されたときだけで、期間は約 1 時間です。TRACE を設定してメッセージを再送し、1 時間以内にトレースを確認してください。
SAP CPI で TRACE はどのくらいオンのままですか?
約 10 分です。その後 iFlow は低いログレベルに戻り、TRACE を設定し直すまでメッセージはトレースされません。
「ステップ前の内容」とは何ですか?
ステップが始まった時点のメッセージ、つまりそのボディ、header、exchange property です。次のステップの内容と比べると、そのステップが何を変えたのかがわかります。
トレースすると iFlow は遅くなりますか?
各ステップの内容が tenant に書き込まれるため、処理が増えます。調査中だけ使い、終わったらオフにしてください。
拡張機能は TRACE レベルをずっとオンのままにしますか?
いいえ。TRACE を更新するのは、スイッチがオンでその iFlow で作業している間だけです。最後の操作から 20 分で止まり、スイッチをオフにすると元のレベルに戻します。
Kitegra はトレースの内容を保存しますか?
いいえ。トレースの内容はページ内に表示され、あなたがダウンロードすることはできますが、保存、同期、Kitegra への送信は一切されません。