2017-09-20 42 views
0

我有一个逗号分隔字符串,像这样逗号分隔字符串地图 - Mulesoft

CODE,TYPE,BATCHDATE 
    SQ22,LOAD,20170505 
    SF55,LPOO,20170908 
    PL25,KLLQ,20170707 

我想创建一个有效载荷地图,看起来像这样

CODE=SQ22,TYPE=LOAD,BATCHDATE=20170505 
    CODE=SF55,TYPE=LPOO,BATCHDATE=20170908 
    CODE=PL25,TYPE=KLLQ,BATCHDATE=20170707 

什么是最好的方法这样做?我已经试过了字符串和其他变压器之间的变压器,但IAM总是出现异常。 Example of flow

%dw 1.0 
    $output application/csv 
    --- 
    payload 

和第二变压器是

%dw 1.0 
    $output application/java 
    --- 
    payload map ((payload,index) -> { 
    batchCode: payload.CODE, 
    batchType: payload.TYPE, 
    batchDate: payload.BATCHDATE 
    } as :object { 
    class: "com.example.integration.Batch" 
    }) 

我在哪里犯错任何想法?

回答

0

对于这两种情况,您的代码都可以。请尝试将的数据编织指令更改为%output application/java

更新: - 根据错误提到dataweave期待xml输入。请为CSV <dw:input-payload mimeType="application/csv"/>添加MIME类型。代码看起来像

<dw:transform-message doc:name="Transform Message"> 
     <dw:input-payload mimeType="application/csv"/> 
     <dw:set-payload><![CDATA[%dw 1.0 
      %output application/java 
      --- 
      payload]]> 
     </dw:set-payload> 
    </dw:transform-message> 

希望这有助于

+0

感谢您的回答,但还是一样的结果,例外情况是:在序言意外的字符“C(代码85);预计'<' – Bubosam

+0

请检查更新的答案 – AnupamBhusari

+0

感谢mimeType帮助解决此问题:) – Bubosam