2016-09-19 111 views
0

HEJ, 我在MULE新的文件,我嘗試學習「如何」從騾子的思達下面的例子:https://www.mulesoft.com/exchange#!/sending-csv-email-smtp?searchTerm=email 我覺得我做的一切順利,項目deploing好,但是當文件被採取異常拋出並且我得到了溝通: 異常堆棧是: 1.不能脅迫a:binary到a:array(com.mulesoft.weave.model.values.coercion.exception.UnsupportedTypeCoercionException ) com.mulesoft.weave.model.values.formatting.ArrayFormatTypeCoercionValue:31(空) 2.異常而執行: 有效載荷地圖{ ^ 不能強迫一個:二進制到:陣列(com.mulesoft.weave。 mule.e xception.WeaveExecutionException) com.mulesoft.weave.mule.WeaveMessageProcessor:124(null)。MULE例如:發送CSV通過電子郵件使用SMTP

Abybody知道發生了什麼事。任何人都有與該例子相同的問題?

+0

似乎是這個副本:http://stackoverflow.com/questions/34008860/converting-csv-to-array-using-dataweave – nitgeek

+0

我不這麼認爲,我已經閱讀了答案snd它似乎不是一個解。 ( – BartiLewi

回答

0

使用以下mime類型在DataWeave: - <dw:input-payload doc:sample="list_csv.csv" mimeType="application/csv"/>

所以,完整的代碼會有些東西像如下: -

<smtp:gmail-connector doc:name="Gmail" name="Gmail" validateConnections="true"/> 
    <flow name="csv-to-smtpFlow"> 
     <file:inbound-endpoint doc:name="Poll files" metadata:id="a75d5954-7fb4-4721-85f6-7ee66b793750" path="E:\test" responseTimeout="10000"/> 
     <dw:transform-message doc:name="Transform CSV to Map" metadata:id="84d175de-b3c6-4480-af9d-150e736f051e"> 
      <dw:input-payload doc:sample="list_csv.csv" mimeType="application/csv"/> 
      <dw:set-payload><![CDATA[%dw 1.0 
%output application/java 
--- 
payload map { 
    name: $.name, 
    orderId: $.orderId, 
    pricePerUnit: $.pricePerUnit as :number, 
    units: $.units as :number, 
    totalPrice: ($.units * $.pricePerUnit) as :number 
}]]></dw:set-payload> 
     </dw:transform-message> 
     <logger doc:name="Log the processed objects" level="INFO" message="Processing objects: #[payload]"/> 
    <smtp:outbound-endpoint connector-ref="Gmail" doc:name="Send an email via SMTP" from="${mail.from}" host="${smtp.host}" password="${smtp.password}" port="587" responseTimeout="10000" subject="${mail.subject}" to="${mail.to}" user="${smtp.user}"/> 
    </flow> 

這將解決您的問題

相關問題