1

我想从数据库中阅读一些电子邮件详细信息。你能帮我解决这个问题吗?我的配置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>

我有一个错误:带有表达式“名称”的表达式评估器“map-payload”返回 null,但需要一个值。

提前致谢。

4

1 回答 1

1

JDBC 出站端点之后的负载是映射列表,而不是映射,因此您不能使用 map-payload。
如果您至少有 1 行,则可以像这样访问它:

#[payload[0]['name']]
于 2013-10-23T13:37:05.467 回答