【发布时间】:2013-02-08 12:50:37
【问题描述】:
我刚开始使用 Mule。 流程说明: 我有一个 HTTP 入站端点接收 XML 消息,并且我使用 XML 有效负载更新数据库 (derby)。 例如:我将在请求中收到 Emp Id 和 Emp name, Exp。我必须用这些值更新表格。
我的实现:
收到 XML 输入后,我使用消息属性转换器将值保存在 Session 范围内。
<message-properties-transformer scope="session" doc:name="Message Properties">
<add-message-property key="EmpNum"
value="#[xpath:/CreateEmployee/EmpNum]" />
</message-properties-transformer>
如上。然后我有 Groovy Script 组件来更新表格。 我的查询是:
r.update(conn, "INSERT INTO Employee values(#[header:session:EmpNum],#[header:session:EmpName],#[header:session:Experience],#[header:session:Role])");
但它正在抛出错误:
第 1 行第 29 列出现词汇错误。遇到:"#" (35),在:"" 之后。 (org.apache.derby.iapi.error.StandardException) org.apache.derby.iapi.error.StandardException:-1 (null) 第 1 行第 29 列出现词汇错误。遇到:"#" (35),在:"" 之后。查询:INSERT INTO Employee values(#[header:session:EmpNum],#[header:session:EmpName],#[header:session:Experience],#[header:session:Role]) 参数:[](SQL 代码: 30000, SQL 状态: + 42X02) (java.sql.SQLException) org.apache.commons.dbutils.QueryRunner:540(空)我使用了一个记录器组件来显示这些值。
#[header:session:EmpNum]
正在显示正确的值。
请帮助我如何在 Groovy 脚本中引用此会话值?
【问题讨论】:
标签: mule