Mule 如何访问来自Dataweave的XML

Mule 如何访问来自Dataweave的XML,mule,esb,mule-component,dataweave,Mule,Esb,Mule Component,Dataweave,我尝试访问来自DataWeave的xml下的元素。它返回空值 DataWeave脚本是 %dw 1.0 %namespace ns0 urn:abc:dbc:Components %output text/xml --- ItemFee:{ product_id:flowVars."Dept_id", TotalFees: sum payload.ns0#ItemResponse.ns0#Fees.*ns0#Fee.ns0#Fee } 紧接着这个dataweave之后,我有一个

我尝试访问来自DataWeave的xml下的元素。它返回空值

DataWeave脚本是

%dw 1.0
%namespace ns0 urn:abc:dbc:Components
%output text/xml
---
ItemFee:{
    product_id:flowVars."Dept_id",
    TotalFees: sum payload.ns0#ItemResponse.ns0#Fees.*ns0#Fee.ns0#Fee
}
紧接着这个dataweave之后,我有一个带有以下消息的logger节点

#[message.payload.ItemFee.TotalFees]
我说错话了

Execution of the expression "message.payload.ItemFee.TotalFees" failed. (org.mule.api.expression.ExpressionRuntimeException). Message payload is of type: WeaveMessageProcessor$WeaveOutputHandler

我想在这里多说一点。当我在“转换消息”之后立即在记录器中给出以下文本时。在控制台中打印的消息没有问题。但是我无法访问xml消息中的元素。
#[message.payloadAs(java.lang.String)]

MEL语法仅适用于java对象。由于输出是XML,因此必须使用
xpath3
MEL函数:

比如:

#[xpath3('//ItemFee/TotalFees').text]

谢谢你,瑞安。你的回答帮助了我。我已在我的日志中输入以下内容。然后我就可以拿东西了

#[xpath3('//ItemFee/TotalFees')]

早些时候我试过这些东西,但我不知道为什么它不起作用。可能是我忽略了这个问题

当我在我的记录器中给出
#[xpath3('//ItemFee/TotalFees').text]
时,它表明它在控制台中得到了空消息<代码>信息2015-12-18 14:24:02696[[ebay_dec15th2015].HTTP_Listener_Configuration.worker.01]org.mule.api.processor.LoggerMessageProcessor:null尽管我正在dataweaver中设置“text/xml”格式。当它从“Transform Message”组件中出来时,它看起来像一个对象。当我在“转换消息”之后立即在记录器中给出以下文本时。在控制台中打印的消息没有问题。但是我无法访问xml消息中的元素。
#[message.payloadAs(java.lang.String)]
Ryan在转换时有没有像XSLT或java中那样在控制台中打印的方法?