Mule ESB无法在Oracle Store Procedure中将消息属性作为输入传递

时间:2013-10-29 16:55:15

标签: oracle stored-procedures mule mule-el

大家早上好,

当有必要在MuleEE 3.4中执行 Oracle存储过程时,我有一个关于mule behviour的问题。

在我的应用程序中,我应该调用Oracle数据库中的存储过程,我应该传递一个输入变量(mule消息id),并且此过程应该在存储过程中也传递的输出变量中返回值(0) as out 变量。下面的代码显示了这一点:

<jdbc-ee:outbound-endpoint exchange-pattern="request-response" queryTimeout="-1" connector-ref="JdbcConnector" doc:name="Database" queryKey="CallProcedure">
    <jdbc-ee:query key="CallProcedure" value="Call analyze_buffer_sbil_zonali(#[#[message.outboundProperties['massageID']];string;in],#[mules2;int;out])"/>
</jdbc-ee:outbound-endpoint>

问题是当我尝试超越此查询时出现此错误:

Root Exception stack trace:
java.sql.SQLException: Parameter IN or OUT missing in the index:: 2
    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:111)
    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:145)
    at oracle.jdbc.driver.OraclePreparedStatement.processCompletedBindRow(OraclePreparedStatement.java:1680)
    + 3 more (set debug level logging or '-Dmule.verbose.exceptions=true' for everything)

我真的不知道如何抛出此异常。我遵循了mule文档(JDBC Transport Reference)并尝试了此查询的其他变体,但没有发生任何变化。

我已经停止了开发,我不知道如何在不使用实现此行为的Java类的情况下继续。

有人有什么想法吗?

我期待着听到你, 非常感谢你提前

0 个答案:

没有答案