Reputation: 4712
I am having an issue with mule-standalone 3.5. As far as I have read here How to read SQL queries from properties file in Mule 3.5 Database connector and in some mulesoft official forums, this is a bug of 3.5 standalone but, unfortunately, I have no possibility of upgrading it to an upper version in the final environment where the app is going to run. (Although with standalone 3.8 in my machine it works perfectly)
My program fails here while calling a procedure stored in my Oracle 11g database with a parameter that in fact is a mule flow inbound property:
<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>
Note: To set the syntax of the component, I used How to call stored procedure from Mule 3.5 with new Database endpoint Q&A
The error that it throws is as follows:
Message : Query type must me '[STORE_PROCEDURE_CALL]' but was 'DDL' (java.lang.IllegalArgumentException). Message payload is of type: String Code : MULE_ERROR--2
Said that, could anyone suggest me a different option to perform the procedure call above but with no incompatibilities with mule-standalone 3.5 version? I would appreciate that very much.
Thanks in advance.
Upvotes: 1
Views: 95
Reputation: 4712
After struggling with this a lot of time I have found only one way to perform it with Mule 3.5: executing all the sentences of the procedure directly inside the database connector, so no procedure it's required at all.
It is by far less clean, but the only way I found.
Upvotes: 0
Reputation: 68
As per the example snippet it should work with out the "CDATA" tag. Please try removing the "CDATA"
Upvotes: -1