我正在尝试使用 MEL 在 java 有效负载上调用方法 (getSubject())。但是我遇到了无法解决方法的异常: java.lang.String.getSubject() [arglength=0]]。显然,假设负载是 String 类型,因为它是 NotifyVO 类型,如下面的日志语句所示。
信息 2013-10-31 15:15:11,382 [[test].sendEmail.stage1.02] org.mule.api.processor.LoggerMessageProcessor:有效负载:com.test.NotifyVO 类
流量是——
<flow name="sendEmail" doc:name="sendEmail">
<vm:inbound-endpoint exchange-pattern="one-way"
path="send-email-vm" doc:name="VM" />
<logger level="INFO" doc:name="Logger" message="payload : #[payload.getClass()]"/>
<smtp:outbound-endpoint connector-ref="smtpGmailConnector"
host="${email.host}" port="${email.port}" user="${email.user}"
subject="#[payload.getSubject()]" password="${email.password}"
doc:name="SMTP" />
</flow>
例外是——
Root Exception stack trace:
[Error: unable to resolve method: java.lang.String.getSubject() [arglength=0]]
[Near : {... payload.getSubject() ....}]
^