我正在创建一个通用的适配器,它将接受XML消息(带有namepace)并将其转换为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的内部类如ObjectToJSON transformer来删除XML命名空间并将其转换为JSON。请提供建议
我不明白你到底是如何从XML转换到JSON的。你介意分享一些样品,你的XSLT和 org.json
? 当然,还有一个原始的XML和最后的JSON。
在Spring Integration中,我会做的事情是这样的 UnmarshallingTransformer
其中,我们从XML中创建一些域模型,使用 Marshaller
的抽象。
那么当我们已经有了一个Java POJO,就可以很容易地调用所提到的 ObjectToJsonTransformer
就会得到一个JSON的输出。
它也可以应用一个 XPathTransformer
以从XML中获取一些值等等。
请在docs中阅读更多关于XML支持的内容。https:/docs.spring.iospring-integrationdocs5.3.0.M4referencehtmlxml.html#xml。