【发布时间】:2016-03-14 22:31:07
【问题描述】:
我正在尝试使用骆驼路由器将 XML 消息转换为 JSON 并将其保存到文件中。从源获取 XML 消息并将其保存到目标文件等正在工作。但是当我尝试转换为 JSON 时,它不起作用。我什至没有在日志中抛出任何错误/异常。我在 OSGI 容器上运行
public class CamelRouter extends RouteBuilder {
@Override
public void configure() throws Exception {
from("file://C:/test/Sample.xml")
.routeId("file-to-file")
.log(LoggingLevel.INFO,"RouteID file-to-file !!!!! starting")
//From XML to JSON
.bean(CamelRouter.class, "convertXmlToJson")
.log(LoggingLevel.INFO,"From XML to JSON !!!!! Done")
.to("file://C:/test/JSONMessages")
.log(LoggingLevel.INFO,"Converted Message Saved successfully");
将XML转成JSON的bean方法convertXmlToJson如下图
public String convertXmlToJson(String msg) {
log.info("NOW calling JSON conversion");
String jsonStr = null;
log.info("MESSAGE conversion starting : "); //After this message nothing happened
XMLSerializer xmlReader = new XMLSerializer();
log.info("MESSAGE before conversion : " + msg);
jsonStr = xmlReader.read(msg).toString();
log.info("JSON data : " + jsonObj.toString());
return jsonObj.toString();
}
有谁知道它为什么不执行 XMLSerializer 部分。我尝试了这种方法,因为 camel-xmljson 的 marshal().xmljson() 调用也给了我相同的结果。在我的骆驼路由中调用 xmljson() 之后什么也没发生。 我检查的事情是:
- camel-xmljson 功能在 OSGI 中启动并运行
- 我的 pom 文件中添加了 Apache XmlJSON 网站中提到的依赖项,xom,camel-xmljson 等。
我在这里遗漏了什么吗?请帮忙
【问题讨论】:
-
你能把 JSON 字符串传递给函数并让它在独立模式下转换为 XML 吗?
-
我试图将 XML 字符串转换为 JSON,我可以将 XML 传递给这个函数,它在独立模式下转换为 JSON 没有问题。但不能在骆驼路由中工作。
标签: json xml apache-camel