Модуль в этой статье: Message Monitor
Пошаговая трассировка сообщения SAP CPI, не выходя из дизайнера iFlow
Что записывает уровень журнала TRACE в SAP CPI, как прочитать содержимое перед шагом в мониторе и как проследить путь и payload сообщения прямо на схеме iFlow.

Когда iFlow возвращает неверный результат, вопрос почти всегда один и тот же: как выглядело сообщение прямо перед шагом, на котором всё пошло не так? SAP Cloud Integration (SAP CPI) может на него ответить, но только для сообщений, обработанных с уровнем журнала TRACE, и ответ находится в мониторе, в нескольких экранах от схемы, которую вы редактируете.
В этой статье — что записывает трассировка, как читать её в собственном мониторе SAP и как пройти ту же трассировку шаг за шагом прямо на схеме с помощью Kitegra.
Что записывает трассировка
Каждое сообщение оставляет журнал обработки сообщения (MPL): его статус, начало и конец, а также выполненные шаги. Насколько он подробен, решает уровень журнала iFlow.
| Уровень журнала | Что хранит журнал обработки сообщения |
|---|---|
| Info | Общий статус, время и ошибку, если она была |
| Debug | Запись для каждого шага, который выполнило сообщение |
| Trace | То же, что Debug, плюс тело, headers и exchange properties в том виде, в каком они были перед каждым шагом |
Содержимое трассировки предназначено для расследования, а не для архива. SAP хранит его около часа, а сам уровень TRACE сбрасывается примерно через 10 минут, поэтому нужное сообщение должно пройти вскоре после включения TRACE. Поскольку в tenant сохраняются реальные payload, по возможности используйте тестовые данные, а в продуктиве следуйте правилам своей компании. Ограничения объясняет статья о том, почему TRACE выключается сам.
Как прочитать трассировку в мониторе SAP
- В мониторе откройте Manage Integration Content, выберите развёрнутый iFlow и установите для него уровень журнала Trace.
- В течение следующих нескольких минут отправьте сообщение ещё раз.
- Откройте сообщение в Monitor Message Processing и перейдите по ссылке трассировки к прогону обработки сообщения.
- Выберите шаг на схеме прогона и откройте содержимое сообщения: headers, свойства и payload.
Это работает, но каждый просмотр шага требует нескольких щелчков, схема прогона — не та, которую вы редактируете, а через 10 минут уровень журнала приходится ставить снова.
Включите TRACE из дизайнера
С Kitegra откройте iFlow в дизайнере, нажмите кнопку «Инструменты Kitegra» на панели инструментов схемы и выберите «Сообщения» (или нажмите Alt+Shift+M). Панель показывает последние сообщения iFlow в выбранной среде выполнения, сгруппированные по дням, со статусом, временем начала и длительностью. Трассированные сообщения помечены TRACE, а новые мигают, когда приходят.
Переключатель на панели показывает «Trace: выкл.». Один щелчок ставит уровень журнала iFlow на TRACE, и переключатель показывает «Trace: вкл.» со счётчиком минут. Пока он включён и вы работаете в iFlow, расширение ставит TRACE заново, прежде чем SAP его сбросит; продление прекращается через 20 минут после вашей последней активности. Выключение возвращает уровень журнала, который был у iFlow раньше.
Trace — одно из четырёх действий, которые меняют ваш tenant, и, как остальные, выполняется только по вашему щелчку.
Проследите сообщение на схеме
- Отправьте сообщение или дождитесь следующего. Оно появится вверху панели «Сообщения».
- У трассированного сообщения выберите «На схеме». Пройденные шаги окрашиваются, шаг с ошибкой помечается, а шаги, до которых сообщение не дошло, затемняются.
- Щёлкните окрашенный шаг. Панель «Содержимое перед шагом» показывает «Body», «Заголовки» и «Свойства обмена» в том виде, в каком они были перед этим шагом, «Журнал» шага и «Ошибка», если шаг завершился сбоем.
- Кнопками «Назад» и «Далее» проходите шаги в порядке выполнения. Шаг, который выполнялся несколько раз, в Splitter или цикле, показывает каждый запуск, например «Запуск 2 из 3 этого шага».
- Когда закончите, выберите «Убрать отметки со схемы».
Если сообщение прошло без TRACE, панель так и скажет: SAP хранит тело и headers сообщения, только если оно выполнялось с TRACE, и лишь около часа.
Работайте с тем, что нашли
- Просмотрщик payload показывает тело в режиме «Форматированный» или «Одна строка», умеет «Перенос строк» и «Поиск», а также позволяет «Копировать» или «Скачать» его.
- «Сравнить со следующим шагом» открывает два тела рядом в «Сравнение сообщений», чтобы точно увидеть, что изменил шаг.
- «Время» окрашивает шаги по длительности, от самого быстрого (зелёный) до самого медленного (красный); наведите на шаг, чтобы увидеть его время.
- Для длинного прогона «Читать шагов» задаёт, сколько шагов читать для этого iFlow, или «Все».
- Для сообщения с ошибкой вкладка «Сводка» показывает, где произошла ошибка, а для известных ошибок — «Что это обычно значит:».
Чтобы открыть сообщение, которое вы знаете по ID, из этого или любого другого iFlow tenant, см. статью о поиске сообщения SAP CPI по Message ID или Correlation ID.
Чем помогает Kitegra
Message Monitor — одна из пяти областей Kitegra. Содержимое трассировки — это данные клиента: расширение показывает его на странице и позволяет скачать тело, но никогда не сохраняет, не синхронизирует и не отправляет его в Kitegra.
Helper, Message Monitor, iFlow Inspector и iFlow Docs по отдельности считают iFlow, на которых вы их используете: 5 на модуль без аккаунта Kitegra, 50 на тарифе Free, 100 на Starter и 300 на Pro; в Business ограничений нет. Toolbox и дополнения для рабочего пространства бесплатны. Сравните тарифы.
Попробуйте в следующем iFlow
Узнайте, что Kitegra добавляет к дизайнеру SAP Integration Suite, или посмотрите его рядом с другими расширениями Kitegra для Chrome.
Частые вопросы
Почему в SAP CPI не видно payload моего сообщения?
SAP хранит тело, headers и свойства сообщения, только если оно выполнялось с уровнем журнала TRACE, и лишь около часа. Включите TRACE, отправьте сообщение снова и прочитайте трассировку в течение часа.
Сколько TRACE остаётся включённым в SAP CPI?
Около 10 минут. После этого iFlow возвращается на более низкий уровень журнала, и сообщения больше не трассируются, пока TRACE не включат снова.
Что такое «содержимое перед шагом»?
Это сообщение в момент начала шага: его тело, headers и exchange properties. Сравнение с содержимым следующего шага показывает, что изменил шаг.
Замедляет ли трассировка iFlow?
Она добавляет работы, потому что содержимое каждого шага записывается в tenant. Используйте её во время расследования и выключайте после.
Держит ли расширение уровень TRACE включённым бесконечно?
Нет. Оно продлевает TRACE, только пока переключатель включён и вы работаете в iFlow, прекращает через 20 минут после вашей последней активности и возвращает прежний уровень, когда вы выключаете переключатель.
Хранит ли Kitegra содержимое моих трассировок?
Нет. Содержимое трассировки показывается на странице, и вы можете его скачать; оно никогда не сохраняется, не синхронизируется и не отправляется в Kitegra.