Перейти к содержимому
Kitegra
← Вернуться в блог

Модуль в этой статье: Message Monitor

Пошаговая трассировка сообщения SAP CPI, не выходя из дизайнера iFlow

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

Пошаговая трассировка сообщения SAP CPI, не выходя из дизайнера 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

  1. В мониторе откройте Manage Integration Content, выберите развёрнутый iFlow и установите для него уровень журнала Trace.
  2. В течение следующих нескольких минут отправьте сообщение ещё раз.
  3. Откройте сообщение в Monitor Message Processing и перейдите по ссылке трассировки к прогону обработки сообщения.
  4. Выберите шаг на схеме прогона и откройте содержимое сообщения: headers, свойства и payload.

Это работает, но каждый просмотр шага требует нескольких щелчков, схема прогона — не та, которую вы редактируете, а через 10 минут уровень журнала приходится ставить снова.

Включите TRACE из дизайнера

С Kitegra откройте iFlow в дизайнере, нажмите кнопку «Инструменты Kitegra» на панели инструментов схемы и выберите «Сообщения» (или нажмите Alt+Shift+M). Панель показывает последние сообщения iFlow в выбранной среде выполнения, сгруппированные по дням, со статусом, временем начала и длительностью. Трассированные сообщения помечены TRACE, а новые мигают, когда приходят.

Переключатель на панели показывает «Trace: выкл.». Один щелчок ставит уровень журнала iFlow на TRACE, и переключатель показывает «Trace: вкл.» со счётчиком минут. Пока он включён и вы работаете в iFlow, расширение ставит TRACE заново, прежде чем SAP его сбросит; продление прекращается через 20 минут после вашей последней активности. Выключение возвращает уровень журнала, который был у iFlow раньше.

Trace — одно из четырёх действий, которые меняют ваш tenant, и, как остальные, выполняется только по вашему щелчку.

Проследите сообщение на схеме

  1. Отправьте сообщение или дождитесь следующего. Оно появится вверху панели «Сообщения».
  2. У трассированного сообщения выберите «На схеме». Пройденные шаги окрашиваются, шаг с ошибкой помечается, а шаги, до которых сообщение не дошло, затемняются.
  3. Щёлкните окрашенный шаг. Панель «Содержимое перед шагом» показывает «Body», «Заголовки» и «Свойства обмена» в том виде, в каком они были перед этим шагом, «Журнал» шага и «Ошибка», если шаг завершился сбоем.
  4. Кнопками «Назад» и «Далее» проходите шаги в порядке выполнения. Шаг, который выполнялся несколько раз, в Splitter или цикле, показывает каждый запуск, например «Запуск 2 из 3 этого шага».
  5. Когда закончите, выберите «Убрать отметки со схемы».

Если сообщение прошло без 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.

Работайте с iFlows, не покидая дизайнер

Добавьте Kitegra в Chrome или Microsoft Edge. Начните бесплатно, без аккаунта.