Parsing 在WMB中处理已备份消息的最佳方法

Parsing 在WMB中处理已备份消息的最佳方法,parsing,websphere,ibm-mq,websphere-8,Parsing,Websphere,Ibm Mq,Websphere 8,我的队列管理器有一个退出队列 我想构建一个消息流,它将读取此队列,如果任何消息到达该队列,它将获取该消息并将其包装在一个特殊格式的XML消息中,并将其放入正常异常队列中,该队列将获得已处理的异常 但是,返回到回退队列的消息可以是任何格式,我必须生成一个xml,该消息将作为字段 那么,我的流的最佳设置是什么(关于MQMD属性,如CCSID、format等)以及应该使用哪个解析器(DFDL、BLOB或MRM) 请给出建议。因为您不知道返回队列的消息是什么类型的,所以不应该使用特定的解析器(如XMLN

我的队列管理器有一个退出队列

我想构建一个消息流,它将读取此队列,如果任何消息到达该队列,它将获取该消息并将其包装在一个特殊格式的XML消息中,并将其放入正常异常队列中,该队列将获得已处理的异常

但是,返回到回退队列的消息可以是任何格式,我必须生成一个xml,该消息将作为字段

那么,我的流的最佳设置是什么(关于MQMD属性,如CCSID、format等)以及应该使用哪个解析器(DFDL、BLOB或MRM)


请给出建议。

因为您不知道返回队列的消息是什么类型的,所以不应该使用特定的解析器(如XMLNSC等)对其进行解析。可能您在MQInput上设置的通用参数越多,您就越能进一步确定消息中的内容

因此,我将从默认消息域(BLOB)开始,并保持其他参数不变。将一些日志记录节点(例如跟踪节点)连接到捕获和故障终端。将Out终端连接到包含ESQL的计算节点,以确定错误类型并决定进一步的操作(例如,到标签的路由)。然后在每个标签中决定消息的哪一部分应该映射到最终异常消息和映射

如果需要结果消息中当前处于回退队列中的消息的MQMD属性,只需提取这些值并将其放入/连接/任何内容到结果消息XML部分。我认为您不应该按原样将MQMD(和其他)头复制到结果消息中,因为这可能是原始消息进入回退队列并且结果消息将再次到达该队列的原因。从头开始构造生成的消息头

如果在执行这些转换时发生了不好的情况,您将在跟踪中看到问题。然后适当地修改错误处理逻辑,以避免将来的错误处理