【问题标题】:Passing on the XML from java compute node into ESQL Compute node IBM Message broker将 XML 从 java 计算节点传递到 ESQL 计算节点 IBM 消息代理
【发布时间】:2018-07-10 00:28:04
【问题描述】:

我正在读取一个 xml 文件,我想更改在不同父标签中多次出现的 XML 参数之一,即 Ordernumber。然后我想将更新的 XML 从 java 计算节点发送到 ESQL 计算节点。任何帮助将不胜感激。

文件已被读取,并且我选择了单个标签,而在我的 xml 架构中,有不同的父标签包含“订单号”,我必须更改其值。

我的代码是 "/"

            synchronized (this) {

                 dom = db.parse(Constant.USER_DIR+ Constant.APP_ROOT_DIR +  
                        + Constant.APP_DIR + "/" 
                        + Constant.CONFIG_DIR+ "/" 
                        + Constant.FILE_NAME);

            }

            Element rootElement = dom.getDocumentElement();
            //Code = new Long[1];  
            NodeList nl = rootElement.getElementsByTagName("Ordernumber");
            if (nl != null && nl.getLength() > 0) {
                for (int i = 0; i < nl.getLength(); i++) {

                    // get the CallSystem element

                    Element el = (Element) nl.item(i);

    }       
            }

我也知道我将为 Outmessage 创建根元素,如下所示,但我不知道如何将整个 xml 从文件放入 outmessage。请帮忙。

                message = new MbMessage();
                root = message.getRootElement();
                xmlRoot = root.createElementAsLastChild(MbXMLNSC.PARSER_NAME);

【问题讨论】:

  • 您似乎期望为您完成所有工作。这不会发生在 SO 上。请自己努力。 stackoverflow.com/help/mcvestackoverflow.com/help/dont-ask
  • 我已阅读该文件,但由于我是 IBM websphere 消息代理的新手,我不知道我将如何做。如果你能帮助我,那就太好了。
  • 请在此处发布您的代码。
  • 已添加代码。

标签: java xml ibm-integration-bus


【解决方案1】:

1) 不要使用代码读取文件(您的同步块);而是使用文件节点。如果您希望消息流通过从轮询目录中读取文件开始,请使用文件输入节点。如果要将文件读入消息流的中间,请使用 File Read 节点。在任何一种情况下,将节点的 Input Message Parsing 选项卡上的 Message domain 属性设置为 XMLNSC,这会将文件内容解析为 XML。

2) 将文件节点的 Out 终端连接到 Java Compute 节点 (JCN) 的 In 终端。

3) 在 JCN 中,使用 XPath 选择名为“Ordernumber”的元素的所有实例。为此,您的 XPath 语句可能会使用后代轴;看到这个reference。有关如何开始使用产品 API 的示例,请参阅此 link。您将在 {install path}/docs/JavaAPI/index.html 中找到 MbXPath 的 Javadoc。

4) 您没有说明后续 ESQL 计算节点会发生什么。但请记住,您可能可以在以前的 JCN 中做到这一点,消除 ESQL Compute 节点。

我认为这些指针应该会引导您朝着正确的方向前进。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-11-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-04
    • 1970-01-01
    相关资源
    最近更新 更多