在简单的消息流中,有3个节点。一个是MQ输入节点,它接收xml输入。其他是MQ Output节点,它接收从MQ输入传递的msg。在两者之间有跟踪节点。跟踪节点配置为在文件中生成跟踪。它跟踪整个xml msg,它在文件中的内容。如果我想跟踪联系号码等xml文件的单个标记,该怎么办?
即:
<contactDetails>
<contactName>Acme</contactName>
<contactNumber>09200209</contactNumber>
</contactDetails>
我应该使用哪种模式?我尝试过${Body.contactDetails.contactNumber}
和${Environment.contactDetails.contactNumber}
,但输出结果为空。有人可以帮忙吗?
编辑:以下是整个信息:
<?xml version="1.0" encoding="utf-8"?>
<tns:In_Request xmlns:tns="http://www.ibm.lab.com" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<ActionRequest>O</ActionRequest>
<DateRequest>10/12/2005</DateRequest>
<customerNumber>1</customerNumber>
<customerName>ACME Hardware</customerName>
<customerDetails>
<customerAddress1>1254 Main St</customerAddress1>
<customerAddress2>Suite 12</customerAddress2>
<customerCity>Dime Box</customerCity>
<customerState>TX</customerState>
<customerCountry>USA</customerCountry>
<customerPostalCode>76543</customerPostalCode>
<customerCreditLimit>1200</customerCreditLimit>
<customerCreditScore>123</customerCreditScore>
</customerDetails>
<contactDetails>
<contactFirstName>Freddy</contactFirstName>
<contactLastName>Bloggs</contactLastName>
<contactPhoneNumber>555-123-6543</contactPhoneNumber>
</contactDetails>
<requestDecision>Y</requestDecision>
<comments>Just a Comment</comments>
</tns:In_Request>
答案 0 :(得分:0)
我现在看到了问题。 引用中的主体指向解析消息的域的根元素,例如如果您在邮件的输入节点上将邮件域设置为XMLNSC,则为Root.XMLNSC,而不是邮件的根元素。
如果要从示例消息中跟踪元素contactPhoneNumber的值,则应使用以下引用: $ {身体*:In_Request.contactDetails.contactPhoneNumber}
因此,在Body之后,您必须指定元素的整个路径。需要*:部分,因为消息中的根元素位于命名空间中。