1

We have upgraded from SDL Web 8.5 to Tridion Sites 9.6 and using dxa java 2.2.3 . We are encountring a strange issue while fetching published binary from broker database dxa is giving below error however the binary is published in broker database

[![16:01:01.464 \[http-nio-9012-exec-3\] WARN  c.s.w.c.i.i.StaticContentInterceptor - Static resource not found in static content provider for /en/images/137005-e346c079-2fdc-438b-8403-e8abd3da82c0.json. Fallback to webapp content...
com.sdl.webapp.common.api.content.StaticContentNotFoundException: No binary found for pubId: \[10\] and urlPath: http://192.168.125.102:9012/en/images/137005-e346c079-2fdc-438b-8403-e8abd3da82c0.json
    at com.sdl.dxa.tridion.content.GraphQLStaticContentResolver.processBinaryComponent(GraphQLStaticContentResolver.java:150)
    at com.sdl.dxa.tridion.content.GraphQLStaticContentResolver.createStaticContentItem(GraphQLStaticContentResolver.java:85)
    at com.sdl.dxa.tridion.content.GenericStaticContentResolver.getStaticContentFileByPath(GenericStaticContentResolver.java:83)
    at com.sdl.dxa.tridion.content.GenericStaticContentResolver.getStaticContent(GenericStaticContentResolver.java:41)
    at com.sdl.dxa.tridion.mapping.impl.GraphQLContentProvider.getStaticContent(GraphQLContentProvider.java:171)
    at jdk.internal.reflect.GeneratedMethodAccessor100.invoke(Unknown Source)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.base/java.lang.reflect.Method.invoke(Method.java:566)
    at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:344)
    at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:208)
    at com.sun.proxy.$Proxy107.getStaticContent(Unknown Source)
    at com.sdl.webapp.common.impl.interceptor.StaticContentInterceptor.preHandle(StaticContentInterceptor.java:133)
    at com.sdl.webapp.common.impl.interceptor.StaticContentInterceptor.preHandle(StaticContentInterceptor.java:112)
    at org.springframework.web.servlet.HandlerExecutionChain.applyPreHandle(HandlerExecutionChain.java:148)
    at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1062)
    at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:963)
    at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006)
    at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:898)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:634)
    at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
    at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
    at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:199)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:494)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
    at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:651)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
    at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:412)
    at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
    at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:754)
    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1385)
    at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
    at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    at java.base/java.lang.Thread.run(Thread.java:834)][1]][1]
3
  • The error seems quite straightforward. The most likely explanation is that it really does not exist for the publication id and path that you're specifying. Have you tried to retrieve the binary using the GraphQL API, e.g. through Graphiql or Postman?
    – Quirijn
    Jan 15 at 17:01
  • @Quirijn I have tried to check the binary in the broker database and it exists I don't know how to retrieve it using postman if u can give me some hints that will be helpful. thanks Jan 17 at 17:28
  • The graphql query got mangled in the comment, so I posted it as an answer instead.
    – Quirijn
    Jan 24 at 15:47

1 Answer 1

0

Could you try this GraphQL query?

query bc {
  binaryComponent(namespaceId: 1, url: "/en/images/137005-e346c079-2fdc-438b-8403-e8abd3da82c0.json", publicationId: 10) {
    id
    variants (first: 10) {
      edges {
        node {
          ... on BinaryVariant {
            downloadUrl
            path
            url
          }
        }
      }
    }
  }
} 

Send this to the address of the public content API (ending with /cd/api). If oauth is enabled, you will need to request a token first and add an Authorization header.

2
  • Hi Quirjin Thanks for your reply i ran the query and i got below response {"data":{"binaryComponent":null}} Feb 1 at 11:33
  • So the binary really does not exist in the broker, it seems. Are you sure you are looking in the correct database? And can you share the sql query and its results?
    – Quirijn
    Feb 1 at 15:02

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.