mule dataweaver中的aperak edi文件

时间:2016-04-05 05:51:12

标签: mule dataweave edifact

我正在尝试从mule data weaver组件创建aperak-edifact文件。 这是我的一段代码

<edifact-edi:config name="EDIFACT_EDI" delimiterUsage="USE_SPECIFIED_FOR_WRITES" doc:name="EDIFACT EDI" interchangeIdPartner="YYYY" interchangeIdSelf="XXXX">
       <edifact-edi:schemas>
            <edifact-edi:schema>/edifact/d98b/APERAK.esl</edifact-edi:schema>
       </edifact-edi:schemas>
    </edifact-edi:config>
    <flow name="new1Flow">
        <file:inbound-endpoint path="C:\Users\Desktop" responseTimeout="10000" doc:name="File">
            <file:filename-regex-filter pattern="aperak.xml" caseSensitive="true"/>
        </file:inbound-endpoint>
        <dw:transform-message doc:name="Transform Message">
            <dw:set-payload><![CDATA[%dw 1.0
%output application/java
---
{
    Messages: {
        D98B: {
            APERAK: [{
                Interchange: {
                    UNB0201: "XXX",
                    UNB0301: "YYYY"
                },
                MessageHeader: {
                    UNH01: "1"
                },
                Heading: {
                    "0020_BGM": {
                        BGM0101: "7"
                    }
                }
            }]
        }
    }
}]]></dw:set-payload>
        </dw:transform-message>
        <edifact-edi:write config-ref="EDIFACT_EDI"   doc:name="EDIFACT EDI"/>
        <file:outbound-endpoint path="C:\Users\Desktop" outputPattern="out.json" responseTimeout="10000" doc:name="File"/>        
    </flow>

输出

UNB+UNOB:4+XXX+YYY+05042016:0948+1'UNH+2+APERAK:D:98B:UN'BGM+7'UNT+3+2'UNZ+1+1'

但是创建的输出全部在一行中我希望它逐行出现。那么我该如何为edifact引入新行呢? 任何帮助表示赞赏

预期产出

UNB+UNOB:4+XXX+YYY+05042016:0948+1'
UNH+2+APERAK:D:98B:UN'
BGM+7'
UNT+3+2'UNZ+1+1'

1 个答案:

答案 0 :(得分:0)

设置lineEnding edifact-edi:config配置属性以输出CRLF