Spring Integration - конвертирует XML полезную нагрузку в JSON - PullRequest
0 голосов
/ 23 апреля 2020

Я создаю универсальный c адаптер, который будет принимать XML сообщение (с пространством имен) и преобразовывать его в JSON. Я могу удалить пространство имен с помощью xslt, а затем использовать org. json api для преобразования в JSON, и есть некоторые другие преобразования и использовать поток SI -

        return IntegrationFlows
                .from(org.springframework.integration.jms.dsl.Jms.messageDrivenChannelAdapter(
                        org.springframework.integration.jms.dsl.Jms.container(this.queueConnFactory, this.queue)
                                .transactionManager(transactionManager()).get()))
                .transform(dynamicEnricherImpl.get(enricherName), "enrich")
                .handle(publisher, "publishMessage")
                .get();

Я ищу, может ли то же самое достигается с помощью внутренних классов SPring Integration, таких как преобразователь ObjectTo JSON, чтобы удалить пространство имен XML и преобразовать его в JSON. Пожалуйста, предложите

1 Ответ

0 голосов
/ 23 апреля 2020

Я не понимаю, как вы на самом деле делаете преобразование из XML в JSON. Не могли бы вы поделиться примером с вашим XSLT и этим org.json? И, конечно, с оригинальным XML и окончательным JSON.

То, что я бы сделал в Spring Integration, - это что-то вроде UnmarshallingTransformer, где мы создаем некоторую модель предметной области из XML, используя Marshaller абстракция.

Тогда, когда у нас уже есть Java POJO, легко назвать упомянутый ObjectToJsonTransformer, и вы получите JSON на выходе.

Это также можно применить XPathTransformer для получения некоторого значения из XML и т. д.

Пожалуйста, прочитайте больше о поддержке XML в документах: https://docs.spring.io/spring-integration/docs/5.3.0.M4/reference/html/xml.html#xml

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...