curl -X 'POST' \
'https://water.dev.cwbi.us/cwms-data/projects/SWT/HUDS/water-user/GRDA/contracts?fail-if-exists=true&ignore-nulls=true&_cb=1785271359358' \
-H 'accept: */*' \
-H 'X-CWMS-LRTS-Formatting: false' \
-H 'Content-Type: application/json;version=1' \
-H 'Cache-Control: no-cache, no-store, max-age=0' \
-H 'Pragma: no-cache' \
-d '{"office-id":"CWMS","water-user":{"entity-name":"GRDA","project-id":{"office-id":"SWT","name":"HUDS"},"water-right":"State of Oklahoma"},"contract-id":{"office-id":"CWMS","name":"Salina Pumpback GeneratorsPumps"},"contract-type":{"office-id":"CWMS","display-value":"Conduit","tooltip":"Conduit contract","active":true},"contract-effective-date":-189367200000,"contract-expiration-date":2966392800000,"contracted-storage":6.919833108641587E7,"initial-use-allocation":6.919833108641587E7,"future-use-allocation":0.0,"storage-units-id":"m3","future-use-percent-activated":0.0,"total-alloc-percent-activated":56100.0,"pump-out-location":{"pump-location":{"office-id":"SWT","name":"HUDS-SalinaPumps","latitude":36.23009444444445,"longitude":-95.18218611111112,"active":true,"public-name":"Salina Pumpback Pumps","timezone-name":"US/Central","location-kind":"PUMP","nation":"US","state-initial":"OK","county-name":"Mayes","nearest-city":"Tahlequah","horizontal-datum":"NAD83","published-longitude":95.19333333333334,"published-latitude":36.23166666666667,"vertical-datum":"NAVD88","elevation":188.67119999999997,"bounding-office-id":"SWT","elevation-units":"m"},"pump-type":"OUT"},"pump-in-location":{"pump-location":{"office-id":"SWT","name":"HUDS-SalinaGenerators","latitude":36.23009444444445,"longitude":-95.18218611111112,"active":true,"public-name":"Salina Pumpback Generators","timezone-name":"US/Central","location-kind":"PUMP","nation":"US","state-initial":"OK","county-name":"Mayes","nearest-city":"Tahlequah","horizontal-datum":"NAD83","published-longitude":95.19333333333334,"published-latitude":36.23166666666667,"vertical-datum":"NAVD88","elevation":188.67119999999997,"bounding-office-id":"SWT","elevation-units":"m"},"pump-type":"IN"}}'
{
"message": "ORA-20048: NO_WRITE_PRIVILEGE: User doesnt have write privileges",
"incidentIdentifier": "3c5db42c-82a6-43cf-9a97-93f2184fbd4f",
"source": "Database",
"details": {
"stackTraceLines": [
"cwms.cda.api.errors.NotFoundException: ORA-20048: NO_WRITE_PRIVILEGE: User doesnt have write privileges",
"\tat cwms.cda.data.dao.JooqDao.buildNotFound(JooqDao.java:552)",
"\tat cwms.cda.data.dao.JooqDao.wrapException(JooqDao.java:349)",
"\tat cwms.cda.data.dao.JooqDao.connection(JooqDao.java:886)",
"\tat cwms.cda.data.dao.watersupply.WaterContractDao.storeWaterContract(WaterContractDao.java:120)",
"\tat cwms.cda.api.watersupply.WaterContractCreateController.handle(WaterContractCreateController.java:109)",
"\tat cwms.cda.security.CdaAccessManager.manage(CdaAccessManager.java:44)",
"\tat io.javalin.http.JavalinServlet.addHandler$lambda-0(JavalinServlet.kt:96)",
"\tat io.javalin.http.JavalinServlet$lifecycle$2$1$1.invoke(JavalinServlet.kt:43)",
"\tat io.javalin.http.JavalinServlet$lifecycle$2$1$1.invoke(JavalinServlet.kt:43)",
"\tat io.javalin.http.JavalinServletHandler.executeNextTask(JavalinServletHandler.kt:99)",
"\tat io.javalin.http.JavalinServletHandler.queueNextTaskOrFinish$lambda-1(JavalinServletHandler.kt:85)",
"\tat java.base/java.util.concurrent.CompletableFuture.uniComposeStage(CompletableFuture.java:1106)",
"\tat java.base/java.util.concurrent.CompletableFuture.thenCompose(CompletableFuture.java:2241)",
"\tat io.javalin.http.JavalinServletHandler.queueNextTaskOrFinish$javalin(JavalinServletHandler.kt:85)",
"\tat io.javalin.http.JavalinServletHandler.executeNextTask$lambda-11$lambda-10(JavalinServletHandler.kt:119)",
"\tat java.base/java.util.concurrent.CompletableFuture.uniApplyNow(CompletableFuture.java:680)",
"\tat java.base/java.util.concurrent.CompletableFuture.uniApplyStage(CompletableFuture.java:658)",
"\tat java.base/java.util.concurrent.CompletableFuture.thenApply(CompletableFuture.java:2100)",
"\tat io.javalin.http.JavalinServletHandler.executeNextTask(JavalinServletHandler.kt:119)",
"\tat io.javalin.http.JavalinServletHandler.queueNextTaskOrFinish$lambda-1(JavalinServletHandler.kt:85)",
"\tat java.base/java.util.concurrent.CompletableFuture.uniComposeStage(CompletableFuture.java:1106)",
"\tat java.base/java.util.concurrent.CompletableFuture.thenCompose(CompletableFuture.java:2241)",
"\tat io.javalin.http.JavalinServletHandler.queueNextTaskOrFinish$javalin(JavalinServletHandler.kt:85)",
"\tat io.javalin.http.JavalinServletHandler.executeNextTask$lambda-11$lambda-10(JavalinServletHandler.kt:119)",
"\tat java.base/java.util.concurrent.CompletableFuture.uniApplyNow(CompletableFuture.java:680)",
"\tat java.base/java.util.concurrent.CompletableFuture.uniApplyStage(CompletableFuture.java:658)",
"\tat java.base/java.util.concurrent.CompletableFuture.thenApply(CompletableFuture.java:2100)",
"\tat io.javalin.http.JavalinServletHandler.executeNextTask(JavalinServletHandler.kt:119)",
"\tat io.javalin.http.JavalinServletHandler.queueNextTaskOrFinish$lambda-1(JavalinServletHandler.kt:85)",
"\tat java.base/java.util.concurrent.CompletableFuture.uniComposeStage(CompletableFuture.java:1106)",
"\tat java.base/java.util.concurrent.CompletableFuture.thenCompose(CompletableFuture.java:2241)",
"\tat io.javalin.http.JavalinServletHandler.queueNextTaskOrFinish$javalin(JavalinServletHandler.kt:85)",
"\tat io.javalin.http.JavalinServletHandler.executeNextTask$lambda-11$lambda-10(JavalinServletHandler.kt:119)",
"\tat java.base/java.util.concurrent.CompletableFuture.uniApplyNow(CompletableFuture.java:680)",
"\tat java.base/java.util.concurrent.CompletableFuture.uniApplyStage(CompletableFuture.java:658)",
"\tat java.base/java.util.concurrent.CompletableFuture.thenApply(CompletableFuture.java:2100)",
"\tat io.javalin.http.JavalinServletHandler.executeNextTask(JavalinServletHandler.kt:119)",
"\tat io.javalin.http.JavalinServletHandler.queueNextTaskOrFinish$lambda-1(JavalinServletHandler.kt:85)",
"\tat java.base/java.util.concurrent.CompletableFuture.uniComposeStage(CompletableFuture.java:1106)",
"\tat java.base/java.util.concurrent.CompletableFuture.thenCompose(CompletableFuture.java:2241)",
"\tat io.javalin.http.JavalinServletHandler.queueNextTaskOrFinish$javalin(JavalinServletHandler.kt:85)",
"\tat io.javalin.http.JavalinServlet.service(JavalinServlet.kt:89)",
"\tat javax.servlet.http.HttpServlet.service(HttpServlet.java:623)",
"\tat cwms.cda.ApiServlet.service(ApiServlet.java:1049)",
"\tat javax.servlet.http.HttpServlet.service(HttpServlet.java:623)",
"\tat org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:197)",
"\tat org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:142)",
"\tat org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)",
"\tat org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:166)",
"\tat org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:142)",
"\tat cwms.cda.servlet.W3CTraceFilter.doFilter(W3CTraceFilter.java:54)",
"\tat org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:166)",
"\tat org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:142)",
"\tat org.apache.catalina.filters.CorsFilter.handleNonCORS(CorsFilter.java:334)",
"\tat org.apache.catalina.filters.CorsFilter.doFilter(CorsFilter.java:161)",
"\tat org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:166)",
"\tat org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:142)",
"\tat org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:166)",
"\tat org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:88)",
"\tat org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:491)",
"\tat org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)",
"\tat org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:83)",
"\tat org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:72)",
"\tat org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344)",
"\tat org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:398)",
"\tat org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63)",
"\tat org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:1309)",
"\tat org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1854)",
"\tat org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52)",
"\tat org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:973)",
"\tat org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:491)",
"\tat org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63)",
"\tat java.base/java.lang.Thread.run(Thread.java:829)",
"Caused by: java.sql.SQLException: ORA-20048: NO_WRITE_PRIVILEGE: User doesnt have write privileges",
"ORA-06512: at \"CWMS_20.CWMS_LOC\", line 3396",
"ORA-06512: at \"CWMS_20.CWMS_ERR\", line 80",
"ORA-06512: at \"CWMS_20.ST_PHYSICAL_LOCATION\", line 9",
"ORA-04088: error during execution of trigger 'CWMS_20.ST_PHYSICAL_LOCATION'",
"ORA-06512: at \"CWMS_20.CWMS_LOC\", line 805",
"ORA-06512: at \"CWMS_20.CWMS_LOC\", line 2126",
"ORA-06512: at \"CWMS_20.CWMS_LOC\", line 3354",
"ORA-20025: LOCATION_ID_NOT_FOUND: The Location: \"HUDS-SalinaPumps\" does not exist.",
"ORA-06512: at \"CWMS_20.CWMS_LOC\", line 1445",
"ORA-06512: at \"CWMS_20.CWMS_ERR\", line 80",
"ORA-06512: at \"CWMS_20.CWMS_LOC\", line 245",
"ORA-01403: no data found",
"ORA-06512: at \"CWMS_20.CWMS_LOC\", line 213",
"ORA-06512: at \"CWMS_20.CWMS_LOC\", line 182",
"ORA-06512: at \"CWMS_20.CWMS_LOC\", line 274",
"ORA-06512: at \"CWMS_20.CWMS_LOC\", line 1046",
"ORA-06512: at \"CWMS_20.CWMS_LOC\", line 3324",
"ORA-06512: at \"CWMS_20.CWMS_LOC\", line 5592",
"ORA-06512: at \"CWMS_20.CWMS_LOC\", line 5557",
"ORA-06512: at \"CWMS_20.CWMS_WATER_SUPPLY\", line 503",
"ORA-06512: at \"CWMS_20.CWMS_WATER_SUPPLY\", line 620",
"ORA-01403: no data found",
"ORA-06512: at \"CWMS_20.CWMS_WATER_SUPPLY\", line 592",
"ORA-06512: at line 1",
"",
https://docs.oracle.com/error-help/db/ora-20048/,
"\tat oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:718)",
"\tat oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:618)",
"\tat oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:1372)",
"\tat oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:975)",
"\tat oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:237)",
"\tat oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:524)",
"\tat oracle.jdbc.driver.T4CCallableStatement.doOall8(T4CCallableStatement.java:255)",
"\tat oracle.jdbc.driver.T4CCallableStatement.executeForRows(T4CCallableStatement.java:1467)",
"\tat oracle.jdbc.driver.OracleStatement.executeSQLStatement(OracleStatement.java:2021)",
"\tat oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1634)",
"\tat oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3973)",
"\tat oracle.jdbc.driver.OraclePreparedStatement.doExecute(OraclePreparedStatement.java:4447)",
"\tat oracle.jdbc.driver.OracleCallableStatement.doExecute(OracleCallableStatement.java:4245)",
"\tat oracle.jdbc.driver.OracleCallableStatement.execute(OracleCallableStatement.java:4234)",
"\tat oracle.jdbc.driver.OraclePreparedStatementWrapper.execute(OraclePreparedStatementWrapper.java:1032)",
"\tat jdk.internal.reflect.GeneratedMethodAccessor34.invoke(Unknown Source)",
"\tat java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)",
"\tat java.base/java.lang.reflect.Method.invoke(Method.java:566)",
"\tat org.apache.tomcat.jdbc.pool.interceptor.AbstractQueryReport$StatementProxy.invoke(AbstractQueryReport.java:214)",
"\tat com.sun.proxy.$Proxy38.execute(Unknown Source)",
"\tat jdk.internal.reflect.GeneratedMethodAccessor34.invoke(Unknown Source)",
"\tat java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)",
"\tat java.base/java.lang.reflect.Method.invoke(Method.java:566)",
"\tat org.apache.tomcat.jdbc.pool.interceptor.AbstractQueryReport$StatementProxy.invoke(AbstractQueryReport.java:214)",
"\tat com.sun.proxy.$Proxy38.execute(Unknown Source)",
"\tat jdk.internal.reflect.GeneratedMethodAccessor34.invoke(Unknown Source)",
"\tat java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)",
"\tat java.base/java.lang.reflect.Method.invoke(Method.java:566)",
"\tat org.apache.tomcat.jdbc.pool.interceptor.StatementDecoratorInterceptor$StatementProxy.invoke(StatementDecoratorInterceptor.java:237)",
"\tat com.sun.proxy.$Proxy38.execute(Unknown Source)",
"\tat jdk.internal.reflect.GeneratedMethodAccessor34.invoke(Unknown Source)",
"\tat java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)",
"\tat java.base/java.lang.reflect.Method.invoke(Method.java:566)",
"\tat org.apache.tomcat.jdbc.pool.StatementFacade$StatementProxy.invoke(StatementFacade.java:123)",
"\tat com.sun.proxy.$Proxy38.execute(Unknown Source)",
"\tat org.jooq.tools.jdbc.DefaultPreparedStatement.execute(DefaultPreparedStatement.java:219)",
"\tat org.jooq.impl.Tools.executeStatementAndGetFirstResultSet(Tools.java:4695)",
"\tat org.jooq.impl.AbstractRoutine.execute0(AbstractRoutine.java:622)",
"\tat org.jooq.impl.AbstractRoutine.executeCallableStatement(AbstractRoutine.java:582)",
"\tat org.jooq.impl.AbstractRoutine.execute(AbstractRoutine.java:405)",
"\tat org.jooq.impl.Tools.attach(Tools.java:1610)",
"\tat org.jooq.impl.AbstractRoutine.execute(AbstractRoutine.java:374)",
"\tat usace.cwms.db.jooq.codegen.packages.CWMS_WATER_SUPPLY_PACKAGE.call_STORE_CONTRACTS2(CWMS_WATER_SUPPLY_PACKAGE.java:386)",
"\tat cwms.cda.data.dao.watersupply.WaterContractDao.lambda$storeWaterContract$9(WaterContractDao.java:125)",
"\tat org.jooq.impl.DefaultDSLContext.lambda$connection$12(DefaultDSLContext.java:697)",
"\tat org.jooq.impl.DefaultDSLContext.connectionResult(DefaultDSLContext.java:658)",
"\tat org.jooq.impl.DefaultDSLContext.connection(DefaultDSLContext.java:696)",
"\tat cwms.cda.data.dao.JooqDao.connection(JooqDao.java:884)",
"\t... 70 more",
"Caused by: Error : 20048, Position : 0, SQL = BEGIN \"CWMS_20\".\"CWMS_WATER_SUPPLY\".\"STORE_CONTRACTS2\" (:1, :2, :3) ; END;, Original SQL = { call \"CWMS_20\".\"CWMS_WATER_SUPPLY\".\"STORE_CONTRACTS2\" (?, ?, ?) }, Error Message = ORA-20048: NO_WRITE_PRIVILEGE: User doesnt have write privileges",
"ORA-06512: at \"CWMS_20.CWMS_LOC\", line 3396",
"ORA-06512: at \"CWMS_20.CWMS_ERR\", line 80",
"ORA-06512: at \"CWMS_20.ST_PHYSICAL_LOCATION\", line 9",
"ORA-04088: error during execution of trigger 'CWMS_20.ST_PHYSICAL_LOCATION'",
"ORA-06512: at \"CWMS_20.CWMS_LOC\", line 805",
"ORA-06512: at \"CWMS_20.CWMS_LOC\", line 2126",
"ORA-06512: at \"CWMS_20.CWMS_LOC\", line 3354",
"ORA-20025: LOCATION_ID_NOT_FOUND: The Location: \"HUDS-SalinaPumps\" does not exist.",
"ORA-06512: at \"CWMS_20.CWMS_LOC\", line 1445",
"ORA-06512: at \"CWMS_20.CWMS_ERR\", line 80",
"ORA-06512: at \"CWMS_20.CWMS_LOC\", line 245",
"ORA-01403: no data found",
"ORA-06512: at \"CWMS_20.CWMS_LOC\", line 213",
"ORA-06512: at \"CWMS_20.CWMS_LOC\", line 182",
"ORA-06512: at \"CWMS_20.CWMS_LOC\", line 274",
"ORA-06512: at \"CWMS_20.CWMS_LOC\", line 1046",
"ORA-06512: at \"CWMS_20.CWMS_LOC\", line 3324",
"ORA-06512: at \"CWMS_20.CWMS_LOC\", line 5592",
"ORA-06512: at \"CWMS_20.CWMS_LOC\", line 5557",
"ORA-06512: at \"CWMS_20.CWMS_WATER_SUPPLY\", line 503",
"ORA-06512: at \"CWMS_20.CWMS_WATER_SUPPLY\", line 620",
"ORA-01403: no data found",
"ORA-06512: at \"CWMS_20.CWMS_WATER_SUPPLY\", line 592",
"ORA-06512: at line 1",
"",
"\tat oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:726)",
"\t... 117 more"
]
}
}
Expected a 201 response code for successful write of record.
curl -X 'POST' \
'https://water.dev.cwbi.us/cwms-data/projects/SWT/HUDS/water-user/GRDA/contracts?fail-if-exists=true&ignore-nulls=true&_cb=1785271359358' \
-H 'accept: */*' \
-H 'X-CWMS-LRTS-Formatting: false' \
-H 'Content-Type: application/json;version=1' \
-H 'Cache-Control: no-cache, no-store, max-age=0' \
-H 'Pragma: no-cache' \
-d '{"office-id":"CWMS","water-user":{"entity-name":"GRDA","project-id":{"office-id":"SWT","name":"HUDS"},"water-right":"State of Oklahoma"},"contract-id":{"office-id":"CWMS","name":"Salina Pumpback GeneratorsPumps"},"contract-type":{"office-id":"CWMS","display-value":"Conduit","tooltip":"Conduit contract","active":true},"contract-effective-date":-189367200000,"contract-expiration-date":2966392800000,"contracted-storage":6.919833108641587E7,"initial-use-allocation":6.919833108641587E7,"future-use-allocation":0.0,"storage-units-id":"m3","future-use-percent-activated":0.0,"total-alloc-percent-activated":56100.0,"pump-out-location":{"pump-location":{"office-id":"SWT","name":"HUDS-SalinaPumps","latitude":36.23009444444445,"longitude":-95.18218611111112,"active":true,"public-name":"Salina Pumpback Pumps","timezone-name":"US/Central","location-kind":"PUMP","nation":"US","state-initial":"OK","county-name":"Mayes","nearest-city":"Tahlequah","horizontal-datum":"NAD83","published-longitude":95.19333333333334,"published-latitude":36.23166666666667,"vertical-datum":"NAVD88","elevation":188.67119999999997,"bounding-office-id":"SWT","elevation-units":"m"},"pump-type":"OUT"},"pump-in-location":{"pump-location":{"office-id":"SWT","name":"HUDS-SalinaGenerators","latitude":36.23009444444445,"longitude":-95.18218611111112,"active":true,"public-name":"Salina Pumpback Generators","timezone-name":"US/Central","location-kind":"PUMP","nation":"US","state-initial":"OK","county-name":"Mayes","nearest-city":"Tahlequah","horizontal-datum":"NAD83","published-longitude":95.19333333333334,"published-latitude":36.23166666666667,"vertical-datum":"NAVD88","elevation":188.67119999999997,"bounding-office-id":"SWT","elevation-units":"m"},"pump-type":"IN"}}'
Describe the bug
Executing this command:
Resulted in a 404 result status with this Response Body:
{ "message": "ORA-20048: NO_WRITE_PRIVILEGE: User doesnt have write privileges", "incidentIdentifier": "3c5db42c-82a6-43cf-9a97-93f2184fbd4f", "source": "Database", "details": { "stackTraceLines": [ "cwms.cda.api.errors.NotFoundException: ORA-20048: NO_WRITE_PRIVILEGE: User doesnt have write privileges", "\tat cwms.cda.data.dao.JooqDao.buildNotFound(JooqDao.java:552)", "\tat cwms.cda.data.dao.JooqDao.wrapException(JooqDao.java:349)", "\tat cwms.cda.data.dao.JooqDao.connection(JooqDao.java:886)", "\tat cwms.cda.data.dao.watersupply.WaterContractDao.storeWaterContract(WaterContractDao.java:120)", "\tat cwms.cda.api.watersupply.WaterContractCreateController.handle(WaterContractCreateController.java:109)", "\tat cwms.cda.security.CdaAccessManager.manage(CdaAccessManager.java:44)", "\tat io.javalin.http.JavalinServlet.addHandler$lambda-0(JavalinServlet.kt:96)", "\tat io.javalin.http.JavalinServlet$lifecycle$2$1$1.invoke(JavalinServlet.kt:43)", "\tat io.javalin.http.JavalinServlet$lifecycle$2$1$1.invoke(JavalinServlet.kt:43)", "\tat io.javalin.http.JavalinServletHandler.executeNextTask(JavalinServletHandler.kt:99)", "\tat io.javalin.http.JavalinServletHandler.queueNextTaskOrFinish$lambda-1(JavalinServletHandler.kt:85)", "\tat java.base/java.util.concurrent.CompletableFuture.uniComposeStage(CompletableFuture.java:1106)", "\tat java.base/java.util.concurrent.CompletableFuture.thenCompose(CompletableFuture.java:2241)", "\tat io.javalin.http.JavalinServletHandler.queueNextTaskOrFinish$javalin(JavalinServletHandler.kt:85)", "\tat io.javalin.http.JavalinServletHandler.executeNextTask$lambda-11$lambda-10(JavalinServletHandler.kt:119)", "\tat java.base/java.util.concurrent.CompletableFuture.uniApplyNow(CompletableFuture.java:680)", "\tat java.base/java.util.concurrent.CompletableFuture.uniApplyStage(CompletableFuture.java:658)", "\tat java.base/java.util.concurrent.CompletableFuture.thenApply(CompletableFuture.java:2100)", "\tat io.javalin.http.JavalinServletHandler.executeNextTask(JavalinServletHandler.kt:119)", "\tat io.javalin.http.JavalinServletHandler.queueNextTaskOrFinish$lambda-1(JavalinServletHandler.kt:85)", "\tat java.base/java.util.concurrent.CompletableFuture.uniComposeStage(CompletableFuture.java:1106)", "\tat java.base/java.util.concurrent.CompletableFuture.thenCompose(CompletableFuture.java:2241)", "\tat io.javalin.http.JavalinServletHandler.queueNextTaskOrFinish$javalin(JavalinServletHandler.kt:85)", "\tat io.javalin.http.JavalinServletHandler.executeNextTask$lambda-11$lambda-10(JavalinServletHandler.kt:119)", "\tat java.base/java.util.concurrent.CompletableFuture.uniApplyNow(CompletableFuture.java:680)", "\tat java.base/java.util.concurrent.CompletableFuture.uniApplyStage(CompletableFuture.java:658)", "\tat java.base/java.util.concurrent.CompletableFuture.thenApply(CompletableFuture.java:2100)", "\tat io.javalin.http.JavalinServletHandler.executeNextTask(JavalinServletHandler.kt:119)", "\tat io.javalin.http.JavalinServletHandler.queueNextTaskOrFinish$lambda-1(JavalinServletHandler.kt:85)", "\tat java.base/java.util.concurrent.CompletableFuture.uniComposeStage(CompletableFuture.java:1106)", "\tat java.base/java.util.concurrent.CompletableFuture.thenCompose(CompletableFuture.java:2241)", "\tat io.javalin.http.JavalinServletHandler.queueNextTaskOrFinish$javalin(JavalinServletHandler.kt:85)", "\tat io.javalin.http.JavalinServletHandler.executeNextTask$lambda-11$lambda-10(JavalinServletHandler.kt:119)", "\tat java.base/java.util.concurrent.CompletableFuture.uniApplyNow(CompletableFuture.java:680)", "\tat java.base/java.util.concurrent.CompletableFuture.uniApplyStage(CompletableFuture.java:658)", "\tat java.base/java.util.concurrent.CompletableFuture.thenApply(CompletableFuture.java:2100)", "\tat io.javalin.http.JavalinServletHandler.executeNextTask(JavalinServletHandler.kt:119)", "\tat io.javalin.http.JavalinServletHandler.queueNextTaskOrFinish$lambda-1(JavalinServletHandler.kt:85)", "\tat java.base/java.util.concurrent.CompletableFuture.uniComposeStage(CompletableFuture.java:1106)", "\tat java.base/java.util.concurrent.CompletableFuture.thenCompose(CompletableFuture.java:2241)", "\tat io.javalin.http.JavalinServletHandler.queueNextTaskOrFinish$javalin(JavalinServletHandler.kt:85)", "\tat io.javalin.http.JavalinServlet.service(JavalinServlet.kt:89)", "\tat javax.servlet.http.HttpServlet.service(HttpServlet.java:623)", "\tat cwms.cda.ApiServlet.service(ApiServlet.java:1049)", "\tat javax.servlet.http.HttpServlet.service(HttpServlet.java:623)", "\tat org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:197)", "\tat org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:142)", "\tat org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)", "\tat org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:166)", "\tat org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:142)", "\tat cwms.cda.servlet.W3CTraceFilter.doFilter(W3CTraceFilter.java:54)", "\tat org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:166)", "\tat org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:142)", "\tat org.apache.catalina.filters.CorsFilter.handleNonCORS(CorsFilter.java:334)", "\tat org.apache.catalina.filters.CorsFilter.doFilter(CorsFilter.java:161)", "\tat org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:166)", "\tat org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:142)", "\tat org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:166)", "\tat org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:88)", "\tat org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:491)", "\tat org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)", "\tat org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:83)", "\tat org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:72)", "\tat org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344)", "\tat org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:398)", "\tat org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63)", "\tat org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:1309)", "\tat org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1854)", "\tat org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52)", "\tat org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:973)", "\tat org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:491)", "\tat org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63)", "\tat java.base/java.lang.Thread.run(Thread.java:829)", "Caused by: java.sql.SQLException: ORA-20048: NO_WRITE_PRIVILEGE: User doesnt have write privileges", "ORA-06512: at \"CWMS_20.CWMS_LOC\", line 3396", "ORA-06512: at \"CWMS_20.CWMS_ERR\", line 80", "ORA-06512: at \"CWMS_20.ST_PHYSICAL_LOCATION\", line 9", "ORA-04088: error during execution of trigger 'CWMS_20.ST_PHYSICAL_LOCATION'", "ORA-06512: at \"CWMS_20.CWMS_LOC\", line 805", "ORA-06512: at \"CWMS_20.CWMS_LOC\", line 2126", "ORA-06512: at \"CWMS_20.CWMS_LOC\", line 3354", "ORA-20025: LOCATION_ID_NOT_FOUND: The Location: \"HUDS-SalinaPumps\" does not exist.", "ORA-06512: at \"CWMS_20.CWMS_LOC\", line 1445", "ORA-06512: at \"CWMS_20.CWMS_ERR\", line 80", "ORA-06512: at \"CWMS_20.CWMS_LOC\", line 245", "ORA-01403: no data found", "ORA-06512: at \"CWMS_20.CWMS_LOC\", line 213", "ORA-06512: at \"CWMS_20.CWMS_LOC\", line 182", "ORA-06512: at \"CWMS_20.CWMS_LOC\", line 274", "ORA-06512: at \"CWMS_20.CWMS_LOC\", line 1046", "ORA-06512: at \"CWMS_20.CWMS_LOC\", line 3324", "ORA-06512: at \"CWMS_20.CWMS_LOC\", line 5592", "ORA-06512: at \"CWMS_20.CWMS_LOC\", line 5557", "ORA-06512: at \"CWMS_20.CWMS_WATER_SUPPLY\", line 503", "ORA-06512: at \"CWMS_20.CWMS_WATER_SUPPLY\", line 620", "ORA-01403: no data found", "ORA-06512: at \"CWMS_20.CWMS_WATER_SUPPLY\", line 592", "ORA-06512: at line 1", "", https://docs.oracle.com/error-help/db/ora-20048/, "\tat oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:718)", "\tat oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:618)", "\tat oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:1372)", "\tat oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:975)", "\tat oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:237)", "\tat oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:524)", "\tat oracle.jdbc.driver.T4CCallableStatement.doOall8(T4CCallableStatement.java:255)", "\tat oracle.jdbc.driver.T4CCallableStatement.executeForRows(T4CCallableStatement.java:1467)", "\tat oracle.jdbc.driver.OracleStatement.executeSQLStatement(OracleStatement.java:2021)", "\tat oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1634)", "\tat oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3973)", "\tat oracle.jdbc.driver.OraclePreparedStatement.doExecute(OraclePreparedStatement.java:4447)", "\tat oracle.jdbc.driver.OracleCallableStatement.doExecute(OracleCallableStatement.java:4245)", "\tat oracle.jdbc.driver.OracleCallableStatement.execute(OracleCallableStatement.java:4234)", "\tat oracle.jdbc.driver.OraclePreparedStatementWrapper.execute(OraclePreparedStatementWrapper.java:1032)", "\tat jdk.internal.reflect.GeneratedMethodAccessor34.invoke(Unknown Source)", "\tat java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)", "\tat java.base/java.lang.reflect.Method.invoke(Method.java:566)", "\tat org.apache.tomcat.jdbc.pool.interceptor.AbstractQueryReport$StatementProxy.invoke(AbstractQueryReport.java:214)", "\tat com.sun.proxy.$Proxy38.execute(Unknown Source)", "\tat jdk.internal.reflect.GeneratedMethodAccessor34.invoke(Unknown Source)", "\tat java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)", "\tat java.base/java.lang.reflect.Method.invoke(Method.java:566)", "\tat org.apache.tomcat.jdbc.pool.interceptor.AbstractQueryReport$StatementProxy.invoke(AbstractQueryReport.java:214)", "\tat com.sun.proxy.$Proxy38.execute(Unknown Source)", "\tat jdk.internal.reflect.GeneratedMethodAccessor34.invoke(Unknown Source)", "\tat java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)", "\tat java.base/java.lang.reflect.Method.invoke(Method.java:566)", "\tat org.apache.tomcat.jdbc.pool.interceptor.StatementDecoratorInterceptor$StatementProxy.invoke(StatementDecoratorInterceptor.java:237)", "\tat com.sun.proxy.$Proxy38.execute(Unknown Source)", "\tat jdk.internal.reflect.GeneratedMethodAccessor34.invoke(Unknown Source)", "\tat java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)", "\tat java.base/java.lang.reflect.Method.invoke(Method.java:566)", "\tat org.apache.tomcat.jdbc.pool.StatementFacade$StatementProxy.invoke(StatementFacade.java:123)", "\tat com.sun.proxy.$Proxy38.execute(Unknown Source)", "\tat org.jooq.tools.jdbc.DefaultPreparedStatement.execute(DefaultPreparedStatement.java:219)", "\tat org.jooq.impl.Tools.executeStatementAndGetFirstResultSet(Tools.java:4695)", "\tat org.jooq.impl.AbstractRoutine.execute0(AbstractRoutine.java:622)", "\tat org.jooq.impl.AbstractRoutine.executeCallableStatement(AbstractRoutine.java:582)", "\tat org.jooq.impl.AbstractRoutine.execute(AbstractRoutine.java:405)", "\tat org.jooq.impl.Tools.attach(Tools.java:1610)", "\tat org.jooq.impl.AbstractRoutine.execute(AbstractRoutine.java:374)", "\tat usace.cwms.db.jooq.codegen.packages.CWMS_WATER_SUPPLY_PACKAGE.call_STORE_CONTRACTS2(CWMS_WATER_SUPPLY_PACKAGE.java:386)", "\tat cwms.cda.data.dao.watersupply.WaterContractDao.lambda$storeWaterContract$9(WaterContractDao.java:125)", "\tat org.jooq.impl.DefaultDSLContext.lambda$connection$12(DefaultDSLContext.java:697)", "\tat org.jooq.impl.DefaultDSLContext.connectionResult(DefaultDSLContext.java:658)", "\tat org.jooq.impl.DefaultDSLContext.connection(DefaultDSLContext.java:696)", "\tat cwms.cda.data.dao.JooqDao.connection(JooqDao.java:884)", "\t... 70 more", "Caused by: Error : 20048, Position : 0, SQL = BEGIN \"CWMS_20\".\"CWMS_WATER_SUPPLY\".\"STORE_CONTRACTS2\" (:1, :2, :3) ; END;, Original SQL = { call \"CWMS_20\".\"CWMS_WATER_SUPPLY\".\"STORE_CONTRACTS2\" (?, ?, ?) }, Error Message = ORA-20048: NO_WRITE_PRIVILEGE: User doesnt have write privileges", "ORA-06512: at \"CWMS_20.CWMS_LOC\", line 3396", "ORA-06512: at \"CWMS_20.CWMS_ERR\", line 80", "ORA-06512: at \"CWMS_20.ST_PHYSICAL_LOCATION\", line 9", "ORA-04088: error during execution of trigger 'CWMS_20.ST_PHYSICAL_LOCATION'", "ORA-06512: at \"CWMS_20.CWMS_LOC\", line 805", "ORA-06512: at \"CWMS_20.CWMS_LOC\", line 2126", "ORA-06512: at \"CWMS_20.CWMS_LOC\", line 3354", "ORA-20025: LOCATION_ID_NOT_FOUND: The Location: \"HUDS-SalinaPumps\" does not exist.", "ORA-06512: at \"CWMS_20.CWMS_LOC\", line 1445", "ORA-06512: at \"CWMS_20.CWMS_ERR\", line 80", "ORA-06512: at \"CWMS_20.CWMS_LOC\", line 245", "ORA-01403: no data found", "ORA-06512: at \"CWMS_20.CWMS_LOC\", line 213", "ORA-06512: at \"CWMS_20.CWMS_LOC\", line 182", "ORA-06512: at \"CWMS_20.CWMS_LOC\", line 274", "ORA-06512: at \"CWMS_20.CWMS_LOC\", line 1046", "ORA-06512: at \"CWMS_20.CWMS_LOC\", line 3324", "ORA-06512: at \"CWMS_20.CWMS_LOC\", line 5592", "ORA-06512: at \"CWMS_20.CWMS_LOC\", line 5557", "ORA-06512: at \"CWMS_20.CWMS_WATER_SUPPLY\", line 503", "ORA-06512: at \"CWMS_20.CWMS_WATER_SUPPLY\", line 620", "ORA-01403: no data found", "ORA-06512: at \"CWMS_20.CWMS_WATER_SUPPLY\", line 592", "ORA-06512: at line 1", "", "\tat oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:726)", "\t... 117 more" ] } }Expected behavior
Expected a 201 response code for successful write of record.
To Reproduce
Executing this command:
Priority
Medium
Logs/Incident Identifier
No response
CURL Commands
CDA Version
2026.07.28-develop
Additional context
No response