Mule 3.5 bug替代品无需升级?

Mule 3.5 bug alternative without upgrading?

我在使用 mule-standalone 3.5 时遇到问题。 据我在这里阅读 How to read SQL queries from properties file in Mule 3.5 Database connector 和一些 mulesoft 官方论坛,这是 3.5 独立版的错误,但不幸的是,我无法在应用程序运行的最终环境中将其升级到更高版本至 运行。 (虽然在我的机器上使用独立的 3.8 它工作得很好)

我的程序在调用存储在我的 Oracle 11g 数据库中的过程时失败,其中的参数实际上是入站 mule 流 属性:

<db:stored-procedure config-ref="DbCentralESB" doc:name="Store the IP">
<db:parameterized-query><![CDATA[{call IP_CONTROL(:ip) }]]></db:parameterized-query>
<db:in-param name="ip" value="#[message.inboundProperties.MULE_REMOTE_CLIENT_ADDRESS]"/>
</db:stored-procedure>

注意:为了设置组件的语法,我使用了How to call stored procedure from Mule 3.5 with new Database endpoint问答

它抛出的错误如下:

Message : Query type must me '[STORE_PROCEDURE_CALL]' but was 'DDL' (java.lang.IllegalArgumentException). Message payload is of type: String Code : MULE_ERROR--2

也就是说,有人可以建议我执行上述过程调用的不同选项,但与 mule-standalone 3.5 版本不兼容吗?非常感谢。

提前致谢。

根据 example snippet 它应该与“CDATA”标签一起工作。请尝试删除“CDATA

在为此苦苦挣扎了很多时间之后,我发现只有一种方法可以用 Mule 3.5 执行它:直接在数据库连接器中执行过程的所有语句,所以根本不需要过程。

它远没有那么干净,但这是我找到的唯一方法。