Hi Team, I am using sql-stored component to execute a stored procedure in Oracle DB. My OUT parameter is of type javaa.sql.SQLXML. When i am getting output in body, i am getting type as oracle.xdb.XMLType.
I am passing this output to another procedure whose input is XMLTYPE. But i am getting error while doing so. Below is my code Step 1 : Call to Oracle Stored procedure <to uri="sql-stored:SP_Test(INTEGER 5 , OUT SQLXML PR)dataSource=ds1" /> <log message=" 324 ${body}"/> <log message=" 123 ${body.[PR]}"/> Step 2 : <setBody > <simple resultType="java.sql.SQLXML">${body.[PR]}</simple> </setBody> <log message=" after 324 ${body}"/> Step 3: <setHeader headerName="test1"><simple>${body}</simple></setHeader> <to uri="sql-stored:SP_Test1(SQLXML ${header.test1})?dataSource=ds1}" /> After executing the above steps below is my stack trace. 2017-02-10 16:40:24,601 | INFO | 324 {PR=oracle.xdb.XMLType@7941dbe3} 2017-02-10 16:40:24,662 | INFO | 123 oracle.xdb.XMLType@7941dbe3 2017-02-10 16:40:24,662 | INFO | after 324 oracle.xdb.XMLType@7941dbe3 2017-02-10 16:40:25,024 | INFO | org.springframework.dao.RecoverableDataAccessException: CallableStatementCallback; SQL [{call SP_Test1(?)}]; Closed Connection; nested exception is java.sql.SQLRecoverableException: Closed Connection at org.springframework.jdbc.support.SQLExceptionSubclassTranslator.doTranslate(SQLExceptionSubclassTranslator.java:98) at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:73) at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:81) at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:1094) at org.springframework.jdbc.core.JdbcTemplate.call(JdbcTemplate.java:1130) at org.springframework.jdbc.object.StoredProcedure.execute(StoredProcedure.java:142) at org.apache.camel.component.sql.stored.TemplateStoredProcedure.execute(TemplateStoredProcedure.java:74) at org.apache.camel.component.sql.stored.CallableStatementWrapper.populateStatement(CallableStatementWrapper.java:104) at org.apache.camel.component.sql.stored.SqlStoredProducer$1.execute(SqlStoredProducer.java:69) at org.apache.camel.component.sql.stored.CallableStatementWrapper.call(CallableStatementWrapper.java:55) at org.apache.camel.component.sql.stored.SqlStoredProducer.process(SqlStoredProducer.java:43) at org.apache.camel.util.AsyncProcessorConverterHelper$ProcessorToAsyncProcessorBridge.process(AsyncProcessorConverterHelper.java:61) at org.apache.camel.processor.SendProcessor$2.doInAsyncProducer(SendProcessor.java:173) at org.apache.camel.impl.ProducerCache.doInAsyncProducer(ProducerCache.java:341) at org.apache.camel.processor.SendProcessor.process(SendProcessor.java:168) at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:77) at org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:190) at org.apache.camel.processor.Pipeline.process(Pipeline.java:121) at org.apache.camel.processor.Pipeline.process(Pipeline.java:83) at org.apache.camel.processor.TryProcessor.process(TryProcessor.java:113) at org.apache.camel.processor.TryProcessor.process(TryProcessor.java:84) at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:77) at org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:190) at org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:190) at org.apache.camel.component.timer.TimerConsumer.sendTimerExchange(TimerConsumer.java:192) at org.apache.camel.component.timer.TimerConsumer$1.run(TimerConsumer.java:76) at java.util.TimerThread.mainLoop(Timer.java:555) at java.util.TimerThread.run(Timer.java:505) Caused by: java.sql.SQLRecoverableException: Closed Connection at oracle.jdbc.driver.PhysicalConnection.prepareCall(PhysicalConnection.java:4178) at oracle.jdbc.driver.PhysicalConnection.prepareCall(PhysicalConnection.java:4134) at oracle.jdbc.oracore.OracleTypeADT.initMetadata12(OracleTypeADT.java:551) at oracle.jdbc.oracore.OracleTypeADT.initMetadata(OracleTypeADT.java:507) at oracle.jdbc.oracore.OracleTypeADT.init(OracleTypeADT.java:469) at oracle.sql.OpaqueDescriptor.initPickler(OpaqueDescriptor.java:258) at oracle.sql.OpaqueDescriptor.<init>(OpaqueDescriptor.java:59) at oracle.sql.OpaqueDescriptor.createDescriptor(OpaqueDescriptor.java:177) at oracle.xdb.XMLType.toDatum(XMLType.java:758) at oracle.xdb.XMLType.toBytes(XMLType.java:4048) at oracle.jdbc.driver.OraclePreparedStatement.setOPAQUECritical(OraclePreparedStatement.java:6560) at oracle.jdbc.driver.OraclePreparedStatement.setOPAQUEInternal(OraclePreparedStatement.java:6517) at oracle.jdbc.driver.OraclePreparedStatement.setSQLXMLInternal(OraclePreparedStatement.java:6598) at oracle.jdbc.driver.OraclePreparedStatement.setObjectCritical(OraclePreparedStatement.java:9463) at oracle.jdbc.driver.OraclePreparedStatement.setObjectInternal(OraclePreparedStatement.java:8946) at oracle.jdbc.driver.OraclePreparedStatement.setObjectInternal(OraclePreparedStatement.java:9557) at oracle.jdbc.driver.OracleCallableStatement.setObject(OracleCallableStatement.java:6090) at oracle.jdbc.driver.OraclePreparedStatementWrapper.setObject(OraclePreparedStatementWrapper.java:249) at org.springframework.jdbc.core.StatementCreatorUtils.setValue(StatementCreatorUtils.java:437) at org.springframework.jdbc.core.StatementCreatorUtils.setParameterValueInternal(StatementCreatorUtils.java:235) at org.springframework.jdbc.core.StatementCreatorUtils.setParameterValue(StatementCreatorUtils.java:150) at org.springframework.jdbc.core.CallableStatementCreatorFactory$CallableStatementCreatorImpl.createCallableStatement(CallableStatementCreatorFactory.java:213) at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:1072) Thanks & Regards Kumar -- View this message in context: http://camel.465427.n5.nabble.com/sending-oracle-XMLType-message-to-activeMQ-tp5466141p5793794.html Sent from the Camel - Users mailing list archive at Nabble.com.