【发布时间】:2016-05-16 07:02:15
【问题描述】:
xml 在 mule 转换消息中进行格式转换时遇到一个问题。
我有一个输入 xml 文件。
我必须将输入xml 转换为输出xml,其中节点结构不同且节点名称不同。
我使用数据转换消息进行此转换,但在某一时刻,它显示预期格式是对象和找到的字符串。
任何人都可以帮助我吗?
"类型不匹配 找到 :name, :string 需要:名称,:对象(com.mulesoft.weave.mule.exception.WeaveExecutionException)。消息负载类型:WeaveMessageProcessor$WeaveOutputHandler"
input payload
<?xml version="1.0" encoding="utf-8"?>
<AGREEMENT>
<details>
<newTransaction>N</newTransaction>
<type>ddd</type>
</details>
</AGREEMENT>
output Payload
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Header>
<TestHeader xmlns="TestWebService">
<Username>aaa</Username>
<Password>aaa</Password>
</TestHeader>
</soap:Header>
<soap:Body>
<AGRMNT>
<testId>
<_-Test_Agrmnt- SEGMENT="1">
<transaction>N</transaction>
</__-Test_Agrmnt->
</testId>
</AGRMNT>
</soap:Body>
</soap:Envelope>
数据编织代码
%dw 1.0
%output application/xml
%namespace soap http://schemas.xmlsoap.org/soap/envelope/
{
soap#Envelope: {
soap#Body: {
AGREEMENT: {
testId: {
'_-Test_Agrmnt-': {
transaction: payload.AGREEMENT.details.newTransaction as :string
}
}
}
}}
【问题讨论】:
-
你能提供你的xml输入输出吗?
-
您的输出文件格式不正确。请发布预期输出
标签: mule mule-studio mule-component mule-el