Настройка обработки XML
|
Этот раздел перенесён из документации Camunda 7 и в дальнейшем будет доработан с учётом особенностей OpenBPM Engine |
Spin можно настроить для изменения параметров разбора, записи и отображения XML. Spin использует JAXB и DOM для работы с XML.
Поэтому формат данных XML использует экземпляры javax.xml.parsers.DocumentBuilderFactory,
javax.xml.transform.TransformerFactory и javax.xml.bind.JAXBContext, которые можно настроить с помощью
механизма конфигурации Spin.
Например, пользовательское приложение может предоставить реализацию io.openbpm.spin.spi.DataFormatConfigurator, заменяющую
JAXBContext. Spin использует и кэширует контекст для повышения производительности.
Класс формата данных, для которого необходимо зарегистрировать конфигуратор: io.openbpm.spin.impl.xml.dom.format.DomXmlDataFormat.
Экземпляр этого класса предоставляет сеттер-методы (для перечисленных выше сущностей), с помощью которых можно заменить
объектный маппер по умолчанию. Доступные параметры конфигурации описаны в документации JDK.
Безопасная обработка XML
Формат данных XML в Spin предоставляет следующие свойства конфигурации для обеспечения безопасного разбора XML-документов:
| Свойство | Описание |
|---|---|
|
Включает или отключает обработку внешних XML-сущностей (XXE) в XML-документе. Отключите, чтобы предотвратить
XXE-атаки. Значение по умолчанию: |
|
Включает или отключает безопасную обработку XML-документа.
Значение по умолчанию: |
Чтобы передать пользовательскую конфигурацию, можно передать эти свойства в виде Map в метод DataFormats.loadDataFormats(…),
как показано в следующем примере:
Map<String, Object> configurationOptions = new HashMap<>();
configurationOptions.put("xxe-processing", true);
configurationOptions.put("secure-processing", false);
DataFormats.loadDataFormats(classloader, configurationOptions);
Лицензия и атрибуция
Эта документация была создана на базе материала "Camunda 7 Docs" от Camunda, находится под лицензией Creative Commons Attribution-ShareAlike 3.0 Unported License .
Оригинал документации: https://docs.camunda.org