2016-05-18 76 views
1

我正在使用駱駝存儲過程來調用我們的數據庫中的過程。呼叫表達是這樣的:駱駝存儲過程組件語法

<camel:to uri="sql-stored:check_data(VARCHAR ${headers.id1},VARCHAR ${headers.id1},OUT INTEGER ${headers.response})?dataSource=ds" /> 

而且過程是這樣的:

check_data 
@id1 varchar(50), 
@bid2 varchar(50), 
@response int output 

試驗後,該組件拋出此:

org.apache.camel.component.sql.stored.template.ast.ParseRuntimeException: org.apache.camel.component.sql.stored.template.generated.ParseException: Encountered " <SIMPLE_EXP_TOKEN> "${headers.response} "" at line 1, column 80. 
Was expecting: 
    <IDENTIFIER> ... 

我已籤的語法樣本駱駝網站,它似乎是真的,但我發現這個定義有什麼不妥。我錯過了什麼?

Thx

回答

0

您不能在OUT參數中使用$ {header.xxx}語法引用標題。當前實現將輸出存儲爲Map,您可以在Map中定義鍵以明文形式使用,例如OUT響應。

我們可以考慮在Camel組件中添加一個新功能,以便您可以告訴它將OUT存儲在標題中而不是郵件正文中。

歡迎您在問題跟蹤器中登錄JIRA票:http://camel.apache.org/support.html