2016-09-19 215 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> 

这将解决您的问题

相关问题