如何使用 java 将 mqrfh2-header 中的子文件夹向上移动一个文件夹?

How to move up subfolders one folder in a mqrfh2-header with java?

我想让子文件夹上移一个文件夹,然后删除"FolderToDelete",因为把需要的子文件夹上移后就没用了。
RFH2-Header 的结构如下:

<usr>

  <FolderToDelete>

    <SubFolder 1 To Move Up>
    </SubFolder 1 To Move Up>

    <SubFolder 2 To Move Up>
    </SubFolder 2 To Move Up>

    <SubFolder I don't need 1>
    </SubFolder I don't need 1>

    <SubFolder 3 To Move Up>
    </SubFolder 3 To Move Up>

    <SubFolder I don't need 2>
    </SubFolder I don't need 2>

  </FolderToDelete>

</usr>

它是这样尝试的:

newMsg.setStringProperty("usr.SubFolder 1 To Move Up", message.getStringProperty("usr.FolderToDelete.SubFolder 1 To Move Up"));
newMsg.setStringProperty("usr.SubFolder 2 To Move Up", message.getStringProperty("usr.FolderToDelete.SubFolder 2 To Move Up"));
newMsg.setStringProperty("usr.SubFolder 3 To Move Up", message.getStringProperty("usr.FolderToDelete.SubFolder 3 To Move Up"));

newMsg.deleteProperty("usr.FolderToDelete");

它不工作,我收到了第一行的错误消息。这是错误信息:

MQJE001: Completion code '2', Cause '2471'.

网站 http://blog.robiii.nl/2012/01/websphere-mq-reason-codes.html 说,这是以下原因:

2471 09A7 RC2471 MQRC_PROPERTY_NOT_AVAILABLE

但是我知道属性是可用的,我确定这个名字没有错。

是否因为我正在处理子文件夹而不是属性?如果是,为什么会有差异?子文件夹和属性只是 html 标签,其中包含字符串内容。没有区别吗?如果 mq-类?

没有提供任何方法,我该如何处理子文件夹

这是解决方案,但我不会给出任何代码:
首先,从一个数组中的属性中读取所有名称。将数组过滤为要保存的名称。使用此列表读取所有属性。保存列表中的属性,但从键中删除 "FolderToDelete"。

完成!