0

我希望子文件夹向上移动一个文件夹并删除“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-classes 没有提供方法,我如何处理子文件夹?

4

1 回答 1

0

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

完毕!

于 2016-07-08T10:51:37.517 回答