Перейти к основному содержимому
Руководство администратора
How To статьи
Установка и настройка
Компоненты
Руководство пользователя
Начало работы

XJ

Общее описание

Блок XJ применяется для прямой двусторонней конвертации данных между форматами XML и JSON без создания промежуточных Java‑объектов. Компонент встраивается в поток обработки сообщений и преобразует полезную нагрузку (payload) текущего сообщения из одного формата в другой — согласно заданному направлению (JSON -> XML или XML -> JSON) и загруженной схеме.

Настройка блока

В данном разделе описаны параметры блока XJ, которые необходимо заполнить при его настройке.

Базовые параметры

Название в UIНазвание атрибутаОписаниеЗначение по умолчаниюТип данных
Загрузить схему или темплейтВ данном поле вы можете выбрать или загрузить схему или шаблон, выбрав его из списка загруженных файлов или в файловом навигаторе.Файл
Allow StAXAllowStAXПараметр определяет, разрешено ли использовать StAX (Streaming API for XML) в качестве реализации интерфейса javax.xml.transform.Source при выполнении XSLT‑преобразований.TrueЛогическое значение
Allow Template From HeaderAllowTemplateFromHeaderОпределяет, разрешать ли использовать шаблон ресурса из заголовка или нет (по умолчанию false). Включение этого параметра позволяет указывать динамические шаблоны через заголовок сообщения. Однако это может рассматриваться как потенциальная уязвимость системы безопасности, если заголовок исходит от злоумышленника, поэтому используйте его с осторожностью.FalseЛогическое значение
Content CacheContentCacheОпределяет, кэшировать ли содержимое ресурса (файл таблицы стилей) при его загрузке на старте. Если установлено значение false, файл таблицы стилей будет перезагружаться при обработке каждого сообщения.TrueЛогическое значение
Delete Output FileDeleteOutputFileЕсли значение параметра Output установлено как file, то этот параметр определяет, следует ли удалять выходной файл после завершения обработки. Например, если выходной файл является временным, его лучше удалять после использования.FalseЛогическое значение
Fail On Null BodyFailOnNullBodyОпределяет, следует ли генерировать исключение, если тело входного сообщения пустое (NULL).TrueЛогическое значение
OutputOutputОпределяет тип вывода. Возможные значения:
  • string
  • bytes
  • DOM
  • file
Первые три значения (string, bytes, DOM) задают сохранение в памяти. Если выбрано значение file, то файл передается непосредственно в java.io.File. Для файла вы должны указать имя файла в заголовке IN с ключом XsltConstants.XSLT_FILE_NAME. Кроме того, все пути к файлу должны быть созданы заранее, в противном случае во время выполнения будет сгенерировано исключение.
Список
Transform DirectionTransformDirectionЗадает направление преобразования данных в блоке XJ. Определяет, какой формат будет исходным, а какой — целевым при конвертации полезной нагрузки (payload) сообщения.
Допустимые значения:
- XML2JSON — преобразование из формата XML в JSON
- JSON2XML — преобразование из формата JSON в XML
На основе выбранного направления компонент выбирает соответствующий алгоритм парсинга и сериализации данных без создания промежуточных Java‑объектов.
Список
Transformer Cache SizetransformerCacheSizeКоличество объектов javax.xml.transform.Transformer, которые кэшируются для повторного использования, что позволяет избежать вызовов Template.newTransformer().Целочисленное значение

Расширенные параметры

Название в UIНазвание атрибутаОписаниеЗначение по умолчаниюТип данных
Lazy Start ProducerLazyStartProducerОпределяет, должен ли отправитель стартовать в отложенном режиме, т. е. при получении первого сообщения. Для выявления ошибок и отладки при активации потока выставьте значение False. Если поток используется редко или необходима его быстрая активация, выставьте значение True. Учтите, что обработка первого сообщения в этом случае будет замедлена.FalseЛогическое значение
Entity ResolverEntityResolverЗадает пользовательский обработчик, который указывает XSLT‑блоку, где найти дополнительные ресурсы (например, DTD, внешние схемы) для трансформации XML с использованием движка SAXSource.Строка
Error ListenerErrorListenerПозволяет настроить пользовательский обработчик ошибок, перехватывающий предупреждения и ошибки во время XSLT‑трансформации.
Примечание:
При указании пользовательского обработчика стандартный обработчик перестает действовать. Используйте эту опцию с осторожностью.
Строка
Result Handler FactoryResultHandlerFactoryПозволяет использовать пользовательский интерфейс для обработки результата трансформации.Строка
Saxon ConfigurationSaxonConfigurationПозволяет задать пользовательскую конфигурацию процессора Saxon для расширенной настройки XSLT‑преобразований.Строка
Saxon Extension FunctionsSaxonExtensionFunctionsПозволяет использовать пользовательские функции расширения Saxon (net.sf.saxon.lib.ExtensionFunctionDefinition) в XSLT‑преобразованиях.Строка
Secure ProcessingSecureProcessingВключает безопасную обработку XML согласно javax.xml.XMLConstants (защита от XXE и других атак).TrueЛогическое значение
Transformer FactoryTransformerFactoryПозволяет задать пользовательскую фабрику XSLT‑трансформеров для расширенной настройки процесса трансформации XML.Строка
Transformer Factory ClassTransformerFactoryClassЗадает полное и однозначное имя пользовательского класса для XSLT‑трансформации.Строка
Transformer Factory Configuration StrategyTransformerFactoryConfigurationStrategyЗадает стратегию настройки, применяемую к только что созданным экземплярам классов трансформации.Строка
Uri ResolverUriResolverЗадает пользовательский обработчик URI.Строка
Xslt Message LoggerXsltMessageLoggerПолучатель сообщений, сгенерированных во время преобразований XSLT.Строка
DisabledDisabledОпределяет, будет ли блок отключен в потоке. В активированном потоке функциональность блока не будет отрабатываться.FalseЛогическое значение