diff --git a/components/data/data-services/org.wso2.micro.integrator.dataservices.core/src/main/java/org/wso2/micro/integrator/dataservices/core/description/query/SQLQuery.java b/components/data/data-services/org.wso2.micro.integrator.dataservices.core/src/main/java/org/wso2/micro/integrator/dataservices/core/description/query/SQLQuery.java index 8dcd48e8de..def5326a2f 100644 --- a/components/data/data-services/org.wso2.micro.integrator.dataservices.core/src/main/java/org/wso2/micro/integrator/dataservices/core/description/query/SQLQuery.java +++ b/components/data/data-services/org.wso2.micro.integrator.dataservices.core/src/main/java/org/wso2/micro/integrator/dataservices/core/description/query/SQLQuery.java @@ -1683,24 +1683,20 @@ private void setClobValue(int queryType, String paramName, if (value == null) { sqlQuery.setNull(i + 1, Types.CLOB); } else { - try (BufferedReader reader = new BufferedReader(new StringReader(value))) { - sqlQuery.setClob(i + 1, reader, value.length()); - } catch (IOException e) { - throw new DataServiceFault(e, "Error processing parameter: " + paramName - + ", Error: " + e.getMessage()); - } + // Use of Try-with-resources is removed since it causes "Stream closed" error. + // The JDBC driver will handle closing the stream after reading the data. + sqlQuery.setClob(i + 1, new BufferedReader(new StringReader(value)), + value.length()); } } else if ("INOUT".equals(paramType)) { if (value == null) { ((CallableStatement) sqlQuery).setNull(i + 1, Types.CLOB); } else { - try (BufferedReader reader = new BufferedReader(new StringReader(value))) { - ((CallableStatement) sqlQuery).setClob(i + 1, reader, value.length()); - } catch (IOException e) { - throw new DataServiceFault(e, "Error processing parameter: " + paramName + ", Error: " - + e.getMessage()); - } + // Use of Try-with-resources is removed since it causes "Stream closed" error. + // The JDBC driver will handle closing the stream after reading the data. + ((CallableStatement) sqlQuery).setClob(i + 1, + new BufferedReader(new StringReader(value)), value.length()); } ((CallableStatement) sqlQuery).registerOutParameter(i + 1, Types.CLOB);