我想从数据库中读取一些电子邮件详细信息。你能帮帮我吗? 我的配置xml:
<jdbc-ee:mssql-data-source name="MS_SQL_Data_Source1" user="sa" password="Pa$$w0rd" url="jdbc:sqlserver://192.168.1.156;databaseName=Almaty" transactionIsolation="UNSPECIFIED" doc:name="MS SQL Data Source"/>
<jdbc-ee:connector name="Database" dataSource-ref="MS_SQL_Data_Source1" validateConnections="true" queryTimeout="-1" pollingFrequency="0" doc:name="Database"/>
<flow name="DCNotifierFlow1" doc:name="DCNotifierFlow1">
<quartz:inbound-endpoint jobName="myjob" repeatInterval="3600000" responseTimeout="10000" doc:name="Quartz">
<quartz:event-generator-job groupName="myjob" jobGroupName="myjob"/>
</quartz:inbound-endpoint>
<jdbc-ee:outbound-endpoint exchange-pattern="request-response" queryTimeout="-1" doc:name="Database" connector-ref="Database" queryKey="select">
<jdbc-ee:query key="procedura1" value="call sp_DataCollectionNotify()"/>
<jdbc-ee:query key="select" value="select name from aaa"/>
</jdbc-ee:outbound-endpoint>
<message-properties-transformer doc:name="Message Properties">
<add-message-property key="subject" value="#[map-payload:name]"/>
</message-properties-transformer>
<smtps:outbound-endpoint host="smtp.mail.ru" port="465" user="bekbol_shynar%40mail.ru" password="" to="shiko_18@mail.ru" from="bekbol_shynar@mail.ru" subject="${smtp.subject}" responseTimeout="10000" doc:name="SMTP"/>.
</flow>
我有一个错误:带有表达式“name”的Expression Evaluator“map-payload”返回null但需要一个值。
提前致谢。
答案 0 :(得分:1)
JDBC出站端点之后的有效负载是地图列表,而不是地图,因此您无法使用map-payload。
如果你至少有一行,你可以像这样访问它:
#[payload[0]['name']]