0

The application is using Weblogic, ORDS(Oracle REST Data Service). I see this error while trying to write to the db. Has anyone experienced it?

These exceptions come for any insert/update queries done in the code but not for select queries.

Read operation is working fine but writes are failing. It looks like ORDS is missing write permissions.

Aug 24, 2023 7:23:10 PM oracle.dbtools.injector.impl.InjectorLog finest
FINEST: No provider found for:  requires java.sql.Connection with constraint: (provides @Named(ords) java.sql.Connection)
oracle.dbtools.injector.impl.MissingDependencyException: No provider found for:  requires java.sql.Connection with constraint: (provides @Named(ords) java.sql.Connection)
    at oracle.dbtools.injector.impl.MissingDependencyException.noProvider(MissingDependencyException.java:75)
    at oracle.dbtools.injector.impl.MissingDependencyException.noProvider(MissingDependencyException.java:62)
    at oracle.dbtools.injector.impl.DependencyInjectionException.instantationError(DependencyInjectionException.java:107)
    at oracle.dbtools.injector.impl.ServiceFactory.instantiate(ServiceFactory.java:122)
    at oracle.dbtools.injector.impl.ServiceFactory$ResolvedDependenciesFactory.newInstance(ServiceFactory.java:366)
    at oracle.dbtools.injector.impl.ServiceFactory$ResolvedSingletons.newInstance(ServiceFactory.java:393)
    at oracle.dbtools.injector.impl.SingletonsBase.get(SingletonsBase.java:35)
    at oracle.dbtools.injector.impl.ServiceFactory.resolveDependencies(ServiceFactory.java:244)
    at oracle.dbtools.injector.impl.ServiceFactory.instantiate(ServiceFactory.java:97)
    at oracle.dbtools.injector.impl.ServiceFactory$InstanceFactory.newInstance(ServiceFactory.java:348)
    at oracle.dbtools.injector.impl.Singletons.newInstance(Singletons.java:121)
    at oracle.dbtools.injector.impl.SingletonsBase.get(SingletonsBase.java:35)
    at oracle.dbtools.injector.impl.ServiceFactory.newInstance(ServiceFactory.java:55)
    at oracle.dbtools.injector.impl.InjectorImpl.select(InjectorImpl.java:180)
    at oracle.dbtools.injector.impl.InjectorImpl$SelfServices.select(InjectorImpl.java:451)
    at oracle.dbtools.auth.Authenticators.authenticate(Authenticators.java:44)
    at oracle.dbtools.http.auth.AuthenticationFilter.authenticate(AuthenticationFilter.java:73)
    at oracle.dbtools.http.auth.AuthenticationFilter.doFilter(AuthenticationFilter.java:64)
    at oracle.dbtools.http.filters.HttpFilter.doFilter(HttpFilter.java:47)
    at oracle.dbtools.http.filters.FilterChainImpl.doFilter(FilterChainImpl.java:64)
    at oracle.dbtools.url.mapping.RequestMapperImpl.doFilter(RequestMapperImpl.java:158)
    at oracle.dbtools.url.mapping.URLMappingBase.doFilter(URLMappingBase.java:89)
    at oracle.dbtools.url.mapping.db.DatabaseTenantMapping.dispatchSelf(DatabaseTenantMapping.java:212)
    at oracle.dbtools.url.mapping.db.DatabaseTenantMappingBase.doFilter(DatabaseTenantMappingBase.java:51)
    at oracle.dbtools.url.mapping.tenant.TenantMappingDispatcher.dispatch(TenantMappingDispatcher.java:59)
    at oracle.dbtools.url.mapping.db.DatabaseTenantMappingBase.dispatchChild(DatabaseTenantMappingBase.java:152)
    at oracle.dbtools.url.mapping.db.DatabaseTenantMappingBase.doFilter(DatabaseTenantMappingBase.java:49)
    at oracle.dbtools.jdbc.pools.local.DefaultLocalTenantMapping.doFilter(DefaultLocalTenantMapping.java:100)
    at oracle.dbtools.url.mapping.tenant.TenantMappingDispatcher.dispatch(TenantMappingDispatcher.java:59)
    at oracle.dbtools.url.mapping.tenant.TenantMappingFilter.doFilter(TenantMappingFilter.java:84)
    at oracle.dbtools.http.filters.HttpFilter.doFilter(HttpFilter.java:47)
    at oracle.dbtools.http.filters.FilterChainImpl.doFilter(FilterChainImpl.java:64)
    at oracle.dbtools.http.forwarding.ForwardingFailedFilter.doFilter(ForwardingFailedFilter.java:41)
    at oracle.dbtools.http.filters.HttpFilter.doFilter(HttpFilter.java:47)
    at oracle.dbtools.http.filters.FilterChainImpl.doFilter(FilterChainImpl.java:64)
    at oracle.dbtools.http.auth.external.ExternalSessionFilter.doFilter(ExternalSessionFilter.java:59)
    at oracle.dbtools.http.filters.HttpFilter.doFilter(HttpFilter.java:47)
    at oracle.dbtools.http.filters.FilterChainImpl.doFilter(FilterChainImpl.java:64)
    at oracle.dbtools.apex.support.auth.ApexSessionQueryRewriteFilter.doFilter(ApexSessionQueryRewriteFilter.java:58)
    at oracle.dbtools.http.filters.HttpFilter.doFilter(HttpFilter.java:47)
    at oracle.dbtools.http.filters.FilterChainImpl.doFilter(FilterChainImpl.java:64)
    at oracle.dbtools.http.cors.CORSResponseFilter.doFilter(CORSResponseFilter.java:90)
    at oracle.dbtools.http.filters.HttpResponseFilter.doFilter(HttpResponseFilter.java:45)
    at oracle.dbtools.http.filters.FilterChainImpl.doFilter(FilterChainImpl.java:64)
    at oracle.dbtools.http.filters.AbsoluteLocationFilter.doFilter(AbsoluteLocationFilter.java:65)
    at oracle.dbtools.http.filters.HttpResponseFilter.doFilter(HttpResponseFilter.java:45)
    at oracle.dbtools.http.filters.FilterChainImpl.doFilter(FilterChainImpl.java:64)
    at oracle.dbtools.http.auth.external.ExternalAccessValidationFilter.doFilter(ExternalAccessValidationFilter.java:59)
    at oracle.dbtools.http.filters.HttpFilter.doFilter(HttpFilter.java:47)
    at oracle.dbtools.http.filters.FilterChainImpl.doFilter(FilterChainImpl.java:64)
    at oracle.dbtools.http.errors.ErrorPageFilter.doFilter(ErrorPageFilter.java:87)
    at oracle.dbtools.http.filters.HttpFilter.doFilter(HttpFilter.java:47)
    at oracle.dbtools.http.filters.FilterChainImpl.doFilter(FilterChainImpl.java:64)
    at oracle.dbtools.http.secure.ForceHttpsFilter.doFilter(ForceHttpsFilter.java:74)
    at oracle.dbtools.http.filters.HttpFilter.doFilter(HttpFilter.java:47)
    at oracle.dbtools.http.filters.FilterChainImpl.doFilter(FilterChainImpl.java:64)
    at oracle.dbtools.http.auth.ForceAuthFilter.doFilter(ForceAuthFilter.java:44)
    at oracle.dbtools.http.filters.HttpFilter.doFilter(HttpFilter.java:47)
    at oracle.dbtools.http.filters.FilterChainImpl.doFilter(FilterChainImpl.java:64)
    at oracle.dbtools.http.filters.Filters.filter(Filters.java:67)
    at oracle.dbtools.http.entrypoint.EntryPoint.service(EntryPoint.java:70)
    at oracle.dbtools.http.entrypoint.EntryPointServlet.service(EntryPointServlet.java:130)
    at oracle.dbtools.entrypoint.WebApplicationRequestEntryPoint.service(WebApplicationRequestEntryPoint.java:50)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:750)
    at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:295)
    at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:260)
    at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:137)
    at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:353)
    at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:25)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:82)
    at weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:32)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:82)
    at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2329)
    at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2307)
    at weblogic.servlet.internal.ServletRequestImpl.runInternal(ServletRequestImpl.java:1798)
    at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1752)
    at weblogic.servlet.provider.ContainerSupportProviderImpl$WlsRequestExecutor.run(ContainerSupportProviderImpl.java:272)
Caused by: oracle.dbtools.plugin.api.types.TypeDependencyNotAvailableException: The type: class oracle.dbtools.oauth.OAuthProviderImpl could not be instantiated due to missing dependency: (provides @Named(ords) java.sql.Connection) java.sql.Connection
    at oracle.dbtools.plugin.api.types.TypeDependencyNotAvailableException.from(TypeDependencyNotAvailableException.java:49)
    at oracle.dbtools.plugin.api.types.TypeDependencies.newInstance(TypeDependencies.java:142)
    at oracle.dbtools.plugin.api.types.TypeReflections$ReflectiveInstantiator.load(TypeReflections.java:530)
    at oracle.dbtools.injector.impl.ServiceFactory.instantiate(ServiceFactory.java:119)
    ... 88 more

Any help on this is appreciated.

Coder12345
  • 179
  • 3
  • 11
  • please update your question and include the request/command that causes the error, AND include the full error stack, not just a piece of it – thatjeffsmith Aug 25 '23 at 18:32
  • Issue is coming for any insert/update queries. There is no specific command/request that I can share. I update the stack trace. – Coder12345 Aug 25 '23 at 18:47
  • do you do a POST request, and that POST request has SQL or PL/SQL that fails to run and you get a HTTP 500 or HTTP 555 error? – thatjeffsmith Aug 25 '23 at 18:57
  • POST request has select queries which work and then it proceeds to execute INSERT query that is when above exception is thrown. Application catches this exception and sends an error page so it does not result in 500 – Coder12345 Aug 28 '23 at 12:37
  • which exception is being caught? the error stack is basically useless for debugging, we need the ORA or PLS messages – thatjeffsmith Aug 28 '23 at 18:58

0 Answers0