how can I completely disable the cache

Hello, how can I completely disable the cache?

I modified cache.xml, refreshed the cache settings, and restarted the service, but Helical still reports cache-related errors.Processing: EfwServiceException.txt… ERROR ServiceUtils:112 - An exception has taken place. The stackTrace is com.helicalinsight.efw.exceptions.EfwServiceException: Could not obtain cache.

I want to disable the cache because I keep getting errors when saving the metadata of an API data source. My original API data source was able to create and save metadata successfully. However, after I modified queryParams, I created a new data source and tried to save it, but it failed with an EfwServiceException.

Even if I change queryParams back to the original settings, the same error still occurs. I also cleared the cache, but the error remains.

Please refer to this question and see if it helps : HelicalInsight API Metadata Save Failure and Cache Disable Issue

API configsave metadata|690x220test API|423x100data|690x345uration

I am using Helical Insight 6.1.0.852 GA. When I try to save the metadata, I get the following error:

EfwServiceException: Could not obtain cache.

I have attached screenshots and the log files.

I have already cleared the cache, but the exception still occurs when saving metadata for both newly created and existing API data sources. The screenshots show the configuration of my API data source. When I test the API with Postman, it returns data successfully.

I am unable to upload the attachments, so I will paste the detailed error information here.

2026-07-13 10:58:54 ERROR GenericWorker:126 - The Worker stopped due to an exception. Marking the status as FAILED {}
java.lang.NullPointerException: Cannot invoke “com.google.gson.JsonElement.getAsString()” because the return value of “com.google.gson.JsonObject.get(String)” is null
at com.helicalinsight.adhoc.services.MetadataRetrievalWorker.reduce(SourceFile:1116) ~[hi-adhoc-6.1.0-GA-small.jar:?]
at com.helicalinsight.parallelprocessor.api.GenericWorker.run(SourceFile:108) [hi-core-6.1.0-GA-small.jar:?]
at com.helicalinsight.parallelprocessor.ThreadPoolTaskExecutorImpl$1.run(SourceFile:78) [hi-core-6.1.0-GA-small.jar:?]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:545) [?:?]
at java.util.concurrent.FutureTask.run(FutureTask.java:328) [?:?]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1090) [?:?]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:614) [?:?]
at java.lang.Thread.run(Thread.java:1474) [?:?]
2026-07-13 10:58:57 ERROR ServiceUtils:112 - An exception has taken place. The stackTrace is
com.helicalinsight.efw.exceptions.EfwServiceException: Could not obtain cache.
at com.helicalinsight.efw.serviceframework.ServiceManager.a(SourceFile:404) ~[hi-core-6.1.0-GA-small.jar:?]
at com.helicalinsight.efw.serviceframework.ServiceManager.getResult(SourceFile:1337) ~[hi-core-6.1.0-GA-small.jar:?]
at com.helicalinsight.adhoc.CachedColumnsProviderComponent.getResult(SourceFile:91) ~[hi-adhoc-6.1.0-GA-small.jar:?]
at com.helicalinsight.adhoc.metadata.genericdb.SaveAllColumnsJoinsMetadataCache.getDataForSubClasses(SourceFile:723) ~[hi-adhoc-6.1.0-GA-small.jar:?]
at com.helicalinsight.adhoc.metadata.genericdb.SaveAddTablesMetadataCache.getAllData(SourceFile:76) ~[hi-adhoc-6.1.0-GA-small.jar:?]
at com.helicalinsight.adhoc.metadata.genericdb.SaveAllColumnsJoinsMetadataCache.getDeSerializedResult(SourceFile:646) ~[hi-adhoc-6.1.0-GA-small.jar:?]
at com.helicalinsight.adhoc.metadata.genericdb.SaveAllColumnsJoinsMetadataCache.addTableColumns(SourceFile:153) ~[hi-adhoc-6.1.0-GA-small.jar:?]
at com.helicalinsight.adhoc.metadata.genericdb.DatabaseMetadataCacheUpdateHandler.a(SourceFile:252) ~[hi-adhoc-6.1.0-GA-small.jar:?]
at com.helicalinsight.adhoc.metadata.genericdb.DatabaseMetadataCacheUpdateHandler.executeComponent(SourceFile:127) ~[hi-adhoc-6.1.0-GA-small.jar:?]
at com.helicalinsight.efw.serviceframework.ServiceUtils.a(SourceFile:179) [hi-core-6.1.0-GA-small.jar:?]
at com.helicalinsight.efw.serviceframework.ServiceUtils.executeService(SourceFile:96) [hi-core-6.1.0-GA-small.jar:?]
at com.helicalinsight.efw.serviceframework.ServiceUtils.executeService(SourceFile:51) [hi-core-6.1.0-GA-small.jar:?]
at com.helicalinsight.adhoc.services.MetadataUpdateService.doService(SourceFile:52) [hi-adhoc-6.1.0-GA-small.jar:?]
at com.helicalinsight.efw.serviceframework.ServiceManager.a(SourceFile:470) [hi-core-6.1.0-GA-small.jar:?]
at com.helicalinsight.efw.serviceframework.ServiceManager.getResult(SourceFile:246) [hi-core-6.1.0-GA-small.jar:?]
at com.helicalinsight.efw.controller.EfwServicesController.service(SourceFile:125) [hi-core-6.1.0-GA-small.jar:?]
at jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) ~[?:?]
at java.lang.reflect.Method.invoke(Method.java:565) ~[?:?]
at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:257) [spring-web-6.2.2.jar:6.2.2]
at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:190) [spring-web-6.2.2.jar:6.2.2]
at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) [spring-webmvc-6.2.2.jar:6.2.2]
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:986) [spring-webmvc-6.2.2.jar:6.2.2]
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:891) [spring-webmvc-6.2.2.jar:6.2.2]
at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) [spring-webmvc-6.2.2.jar:6.2.2]
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1088) [spring-webmvc-6.2.2.jar:6.2.2]
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:978) [spring-webmvc-6.2.2.jar:6.2.2]
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) [spring-webmvc-6.2.2.jar:6.2.2]
at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) [spring-webmvc-6.2.2.jar:6.2.2]
at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:649) [servlet-api.jar:6.1]
at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) [spring-webmvc-6.2.2.jar:6.2.2]
at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:710) [servlet-api.jar:6.1]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:128) [catalina.jar:11.0.13]
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) [tomcat-websocket.jar:11.0.13]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107) [catalina.jar:11.0.13]
at com.helicalinsight.security.SecurityFilter.doFilter(SourceFile:1116) [elj-6.1.0-GA-small.jar:?]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107) [catalina.jar:11.0.13]
at com.helicalinsight.cache.filter.CacheFilter.doFilter(SourceFile:69) [hi-cache-6.1.0-GA-small.jar:?]
at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) [spring-web-6.2.2.jar:6.2.2]
at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) [spring-web-6.2.2.jar:6.2.2]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107) [catalina.jar:11.0.13]
at com.helicalinsight.efw.filters.CookieFilter.doFilter(SourceFile:37) [hi-core-6.1.0-GA-small.jar:?]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107) [catalina.jar:11.0.13]
at com.helicalinsight.efw.filters.RequestRegistryFilter.doFilter(SourceFile:51) [hi-core-6.1.0-GA-small.jar:?]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107) [catalina.jar:11.0.13]
at com.helicalinsight.efw.filters.SessionTimeOutFilter.doFilter(SourceFile:66) [hi-core-6.1.0-GA-small.jar:?]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107) [catalina.jar:11.0.13]
at com.helicalinsight.resourcesecurity.filter.ResourceAuthenticationAndAuthorizationFilter.doFilter(SourceFile:93) [hi-core-6.1.0-GA-small.jar:?]
at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) [spring-web-6.2.2.jar:6.2.2]
at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) [spring-web-6.2.2.jar:6.2.2]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107) [catalina.jar:11.0.13]
at com.helicalinsight.validation.filter.ValidationFilter.doFilter(SourceFile:137) [hi-validation-6.1.0-GA-small.jar:?]
at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) [spring-web-6.2.2.jar:6.2.2]
at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) [spring-web-6.2.2.jar:6.2.2]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107) [catalina.jar:11.0.13]
at com.helicalinsight.efw.filters.FormDataEncryptDecryptFilter.doFilter(SourceFile:41) [hi-core-6.1.0-GA-small.jar:?]
at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) [spring-web-6.2.2.jar:6.2.2]
at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) [spring-web-6.2.2.jar:6.2.2]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107) [catalina.jar:11.0.13]
at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) [spring-security-web-6.4.2.jar:6.4.2]
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:365) [spring-security-web-6.4.2.jar:6.4.2]
at org.springframework.security.web.authentication.switchuser.SwitchUserFilter.doFilter(SwitchUserFilter.java:216) [spring-security-web-6.4.2.jar:6.4.2]
at org.springframework.security.web.authentication.switchuser.SwitchUserFilter.doFilter(SwitchUserFilter.java:176) [spring-security-web-6.4.2.jar:6.4.2]
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) [spring-security-web-6.4.2.jar:6.4.2]
at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:101) [spring-security-web-6.4.2.jar:6.4.2]
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) [spring-security-web-6.4.2.jar:6.4.2]
at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) [spring-security-web-6.4.2.jar:6.4.2]
at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) [spring-security-web-6.4.2.jar:6.4.2]
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) [spring-security-web-6.4.2.jar:6.4.2]
at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) [spring-security-web-6.4.2.jar:6.4.2]
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) [spring-security-web-6.4.2.jar:6.4.2]
at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) [spring-security-web-6.4.2.jar:6.4.2]
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) [spring-security-web-6.4.2.jar:6.4.2]
at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) [spring-security-web-6.4.2.jar:6.4.2]
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) [spring-security-web-6.4.2.jar:6.4.2]
at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:227) [spring-security-web-6.4.2.jar:6.4.2]
at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:221) [spring-security-web-6.4.2.jar:6.4.2]
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) [spring-security-web-6.4.2.jar:6.4.2]
at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:227) [spring-security-web-6.4.2.jar:6.4.2]
at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:221) [spring-security-web-6.4.2.jar:6.4.2]
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) [spring-security-web-6.4.2.jar:6.4.2]
at com.helicalinsight.externalauth.jwt.JwtAuthenticationFilterSSO.doFilterInternal(SourceFile:68) [hi-externalauth-6.1.0-GA-small.jar:?]
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) [spring-web-6.2.2.jar:6.2.2]
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) [spring-security-web-6.4.2.jar:6.4.2]
at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) [spring-security-web-6.4.2.jar:6.4.2]
at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) [spring-security-web-6.4.2.jar:6.4.2]
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) [spring-security-web-6.4.2.jar:6.4.2]
at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) [spring-security-web-6.4.2.jar:6.4.2]
at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) [spring-security-web-6.4.2.jar:6.4.2]
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) [spring-web-6.2.2.jar:6.2.2]
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) [spring-security-web-6.4.2.jar:6.4.2]
at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) [spring-security-web-6.4.2.jar:6.4.2]
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) [spring-web-6.2.2.jar:6.2.2]
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) [spring-security-web-6.4.2.jar:6.4.2]
at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) [spring-security-web-6.4.2.jar:6.4.2]
at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) [spring-security-web-6.4.2.jar:6.4.2]
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) [spring-security-web-6.4.2.jar:6.4.2]
at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) [spring-security-web-6.4.2.jar:6.4.2]
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) [spring-web-6.2.2.jar:6.2.2]
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) [spring-security-web-6.4.2.jar:6.4.2]
at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) [spring-security-web-6.4.2.jar:6.4.2]
at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) [spring-security-web-6.4.2.jar:6.4.2]
at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) [spring-web-6.2.2.jar:6.2.2]
at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) [spring-web-6.2.2.jar:6.2.2]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107) [catalina.jar:11.0.13]
at com.helicalinsight.efw.filters.ErrorInterceptorFilter.doFilter(SourceFile:53) [hi-core-6.1.0-GA-small.jar:?]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107) [catalina.jar:11.0.13]
at org.apache.catalina.filters.CorsFilter.handleNonCORS(CorsFilter.java:331) [catalina.jar:11.0.13]
at org.apache.catalina.filters.CorsFilter.doFilter(CorsFilter.java:158) [catalina.jar:11.0.13]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107) [catalina.jar:11.0.13]
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) [spring-web-6.2.2.jar:6.2.2]
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) [spring-web-6.2.2.jar:6.2.2]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107) [catalina.jar:11.0.13]
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:165) [catalina.jar:11.0.13]
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:77) [catalina.jar:11.0.13]
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482) [catalina.jar:11.0.13]
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:113) [catalina.jar:11.0.13]
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:83) [catalina.jar:11.0.13]
at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:654) [catalina.jar:11.0.13]
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:72) [catalina.jar:11.0.13]
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:341) [catalina.jar:11.0.13]
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) [tomcat-coyote.jar:11.0.13]
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) [tomcat-coyote.jar:11.0.13]
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:903) [tomcat-coyote.jar:11.0.13]
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1778) [tomcat-coyote.jar:11.0.13]
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) [tomcat-coyote.jar:11.0.13]
at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:946) [tomcat-util.jar:11.0.13]
at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:480) [tomcat-util.jar:11.0.13]
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:57) [tomcat-util.jar:11.0.13]
at java.lang.Thread.run(Thread.java:1474) [?:?]

save metadata

I previously changed the default system database from Derby to MySQL. Could this be the cause of the issue?

Hi Jingxiang,

Thank you for sharing the complete stack trace.

This doesn’t look like a issue because of changing the default system database from Derby to MySQL.

Also after reviewing the logs, this does not appear to be a cache issue.

The important exception is actually the following:

java.lang.NullPointerException

Cannot invoke “com.google.gson.JsonElement.getAsString()”

because the return value of

“com.google.gson.JsonObject.get(String)” is null

at com.helicalinsight.adhoc.services.MetadataRetrievalWorker.reduce(…)

The later message:

EfwServiceException: Could not obtain cache

is a secondary exception that occurs after the metadata retrieval process has already failed. In other words, the cache exception is a consequence of the earlier failure, not the root cause.

Since you mentioned that the same API works correctly in Postman, the next thing we need to verify is whether the JSON response returned to Helical Insight matches the structure expected by the HTTP driver.

The NullPointerException suggests that the metadata generation process is trying to read a JSON property that is missing or null.

Could you please provide the following information?

  1. The complete API response (or a sanitized sample) exactly as returned by the endpoint.

  2. The HTTP Driver configuration:

  • URL

  • queryParams

  • Headers

  • Authentication type

  • HTTP Method

  1. Does the API always return the same JSON structure, or does it return a different structure depending on the query parameters?
  2. If possible, please share the HTTP connection configuration (with any sensitive information removed).

Also, please verify the following:

  • Does the response contain any fields whose values are null or whose keys are omitted?

From the stack trace, it appears that metadata generation is failing because an expected JSON element is missing. Once we have the API response and the HTTP driver configuration, we should be able to identify which field is causing the failure.

Thank you

Hi,

The image shows the HTTP configuration of my API.
Snipaste_2026-07-21_14-04-52

The API always returns the same JSON structure, and none of the fields in the response contain null values. Below is the result returned in Postman using my test data.

{
“data”: [
{
“consumption_value”: 12.5000,
“device_id”: “METER_001”,
“location”: “Workshop_A”,
“id”: 1,
“energy_type”: “Electric”,
“timestamp”: “2026-05-06T09:00:00”
},
{
“consumption_value”: 14.2000,
“device_id”: “METER_001”,
“location”: “Workshop_A”,
“id”: 2,
“energy_type”: “Electric”,
“timestamp”: “2026-05-06T10:00:00”
},
{
“consumption_value”: 13.8500,
“device_id”: “METER_001”,
“location”: “Workshop_A”,
“id”: 3,
“energy_type”: “Electric”,
“timestamp”: “2026-05-06T11:00:00”
},
{
“consumption_value”: 8.1000,
“device_id”: “METER_001”,
“location”: “Workshop_A”,
“id”: 4,
“energy_type”: “Electric”,
“timestamp”: “2026-05-06T12:00:00”
},
{
“consumption_value”: 15.3000,
“device_id”: “METER_001”,
“location”: “Workshop_A”,
“id”: 5,
“energy_type”: “Electric”,
“timestamp”: “2026-05-06T13:00:00”
},
{
“consumption_value”: 5.2000,
“device_id”: “METER_002”,
“location”: “Office_B”,
“id”: 6,
“energy_type”: “Electric”,
“timestamp”: “2026-05-06T09:00:00”
},
{
“consumption_value”: 5.4500,
“device_id”: “METER_002”,
“location”: “Office_B”,
“id”: 7,
“energy_type”: “Electric”,
“timestamp”: “2026-05-06T10:00:00”
},
{
“consumption_value”: 35.0000,
“device_id”: “METER_002”,
“location”: “Office_B”,
“id”: 8,
“energy_type”: “Electric”,
“timestamp”: “2026-05-06T11:00:00”
},
{
“consumption_value”: 2.1000,
“device_id”: “WATER_001”,
“location”: “Workshop_A”,
“id”: 9,
“energy_type”: “Water”,
“timestamp”: “2026-05-06T09:00:00”
},
{
“consumption_value”: 15.1000,
“device_id”: “METER_001”,
“location”: “Workshop_A”,
“id”: 30,
“energy_type”: “Electric”,
“timestamp”: “2026-05-06T14:00:00”
},
{
“consumption_value”: 85.0000,
“device_id”: “METER_001”,
“location”: “Workshop_A”,
“id”: 31,
“energy_type”: “Electric”,
“timestamp”: “2026-05-06T15:00:00”
},
{
“consumption_value”: 14.8000,
“device_id”: “METER_001”,
“location”: “Workshop_A”,
“id”: 32,
“energy_type”: “Electric”,
“timestamp”: “2026-05-06T16:00:00”
},
{
“consumption_value”: 2.3000,
“device_id”: “WATER_001”,
“location”: “Workshop_A”,
“id”: 33,
“energy_type”: “Water”,
“timestamp”: “2026-05-06T10:00:00”
},
{
“consumption_value”: 0.0500,
“device_id”: “WATER_001”,
“location”: “Workshop_A”,
“id”: 34,
“energy_type”: “Water”,
“timestamp”: “2026-05-06T11:00:00”
},
{
“consumption_value”: 1.1000,
“device_id”: “WATER_002”,
“location”: “Office_B”,
“id”: 35,
“energy_type”: “Water”,
“timestamp”: “2026-05-06T09:00:00”
},
{
“consumption_value”: 45.2000,
“device_id”: “GAS_001”,
“location”: “Workshop_A”,
“id”: 36,
“energy_type”: “Gas”,
“timestamp”: “2026-05-06T08:00:00”
},
{
“consumption_value”: 48.5000,
“device_id”: “GAS_001”,
“location”: “Workshop_A”,
“id”: 37,
“energy_type”: “Gas”,
“timestamp”: “2026-05-06T09:00:00”
},
{
“consumption_value”: 120.0000,
“device_id”: “GAS_001”,
“location”: “Workshop_A”,
“id”: 38,
“energy_type”: “Gas”,
“timestamp”: “2026-05-06T10:00:00”
},
{
“consumption_value”: 46.1000,
“device_id”: “GAS_001”,
“location”: “Workshop_A”,
“id”: 39,
“energy_type”: “Gas”,
“timestamp”: “2026-05-06T11:00:00”
},
{
“consumption_value”: 44.8000,
“device_id”: “GAS_001”,
“location”: “Workshop_A”,
“id”: 40,
“energy_type”: “Gas”,
“timestamp”: “2026-05-06T12:00:00”
}
],
“total”: 44,
“skip”: 0,
“limit”: 20
}

What you have shared here looks fine. Is it possible to come on a call, one of our technical team member can help in resolving and fixing it?