2

I've deployed the Java DXA 1.4 web app in Tomcat. My publication is fully published to the broker database. When I browse to the site I get the following error. Any ideas what could be causing it?

10:26:12.130 [http-apr-8080-exec-4] TRACE c.s.w.c.i.i.LocalizationResolverInterceptor - Localization for http://localhost:8080/about/contact is: [5] / 10:26:12.130 [http-apr-8080-exec-4] TRACE c.s.w.c.i.i.StaticContentInterceptor - preHandle: /about/contact 10:26:12.130 [http-apr-8080-exec-4] TRACE c.s.w.c.controller.PageController - handleGetPage: requestPath=/about/contact 10:26:12.130 [http-apr-8080-exec-4] DEBUG c.s.w.t.m.AbstractDefaultProvider - Try to find page: [5] /about/contact.html 10:26:12.136 [http-apr-8080-exec-4] ERROR c.s.w.c.controller.PageController - Exception while processing request for: /about/contact java.lang.NullPointerException: null at com.sdl.webapp.tridion.mapping.ModelBuilderPipeline.createPageModel(ModelBuilderPipeline.java:71) ~[dxa-tridion-provider-1.4.0.jar:1.4.0] at com.sdl.webapp.tridion.mapping.AbstractDefaultProvider$1.tryFindPage(AbstractDefaultProvider.java:287) ~[dxa-tridion-provider-1.4.0.jar:1.4.0] at com.sdl.webapp.tridion.mapping.AbstractDefaultProvider$1.tryFindPage(AbstractDefaultProvider.java:267) ~[dxa-tridion-provider-1.4.0.jar:1.4.0] at com.sdl.webapp.tridion.mapping.AbstractDefaultProvider.findPage(AbstractDefaultProvider.java:102) ~[dxa-tridion-provider-1.4.0.jar:1.4.0] at com.sdl.webapp.tridion.mapping.AbstractDefaultProvider.getPageModel(AbstractDefaultProvider.java:267) ~[dxa-tridion-provider-1.4.0.jar:1.4.0] at com.sdl.webapp.common.controller.PageController.getPageModel(PageController.java:321) ~[dxa-common-api-1.4.0.jar:1.4.0] at com.sdl.webapp.common.controller.PageController.handleGetPage(PageController.java:129) ~[dxa-common-api-1.4.0.jar:1.4.0] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_91] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_91] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_91] at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_91] at org.springframework.web.method.support.InvocableHandlerMethod.invoke(InvocableHandlerMethod.java:219) ~[spring-web-3.1.4.RELEASE.jar:3.1.4.RELEASE] at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:132) ~[spring-web-3.1.4.RELEASE.jar:3.1.4.RELEASE] at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:100) ~[spring-webmvc-3.1.4.RELEASE.jar:3.1.4.RELEASE] at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:604) ~[spring-webmvc-3.1.4.RELEASE.jar:3.1.4.RELEASE] at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:565) ~[spring-webmvc-3.1.4.RELEASE.jar:3.1.4.RELEASE] at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:80) ~[spring-webmvc-3.1.4.RELEASE.jar:3.1.4.RELEASE] at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:923) ~[spring-webmvc-3.1.4.RELEASE.jar:3.1.4.RELEASE] at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:852) ~[spring-webmvc-3.1.4.RELEASE.jar:3.1.4.RELEASE] at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:882) ~[spring-webmvc-3.1.4.RELEASE.jar:3.1.4.RELEASE] at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:778) ~[spring-webmvc-3.1.4.RELEASE.jar:3.1.4.RELEASE] at javax.servlet.http.HttpServlet.service(HttpServlet.java:624) [servlet-api.jar:na] at javax.servlet.http.HttpServlet.service(HttpServlet.java:731) [servlet-api.jar:na] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303) [catalina.jar:7.0.62] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) [catalina.jar:7.0.62] at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) [tomcat7-websocket.jar:7.0.62] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) [catalina.jar:7.0.62] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) [catalina.jar:7.0.62] at com.sdl.web.preview.filter.ContentFilter.doFilter(ContentFilter.java:122) [cd_preview_content_common-8.1.1-1008.jar:8.1.1-1008] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) [catalina.jar:7.0.62] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) [catalina.jar:7.0.62] at com.sdl.web.preview.filter.ContentFilter.doFilter(ContentFilter.java:122) [cd_preview_content_common-8.1.1-1008.jar:8.1.1-1008] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) [catalina.jar:7.0.62] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) [catalina.jar:7.0.62] at com.tridion.ambientdata.web.AbstractAmbientDataServletFilter.doFilter(AbstractAmbientDataServletFilter.java:286) [web-ambient-client-8.1.1-1005.jar:8.1.1-1005] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) [catalina.jar:7.0.62] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) [catalina.jar:7.0.62] at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88) [spring-web-3.1.4.RELEASE.jar:3.1.4.RELEASE] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76) [spring-web-3.1.4.RELEASE.jar:3.1.4.RELEASE] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) [catalina.jar:7.0.62] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) [catalina.jar:7.0.62] at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220) [catalina.jar:7.0.62] at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122) [catalina.jar:7.0.62] at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:505) [catalina.jar:7.0.62] at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170) [catalina.jar:7.0.62] at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103) [catalina.jar:7.0.62] at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:957) [catalina.jar:7.0.62] at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116) [catalina.jar:7.0.62] at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:423) [catalina.jar:7.0.62] at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1079) [tomcat-coyote.jar:7.0.62] at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:620) [tomcat-coyote.jar:7.0.62] at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.doRun(AprEndpoint.java:2476) [tomcat-coyote.jar:7.0.62] at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:2465) [tomcat-coyote.jar:7.0.62] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [na:1.8.0_91] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [na:1.8.0_91] at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) [tomcat-coyote.jar:7.0.62] at java.lang.Thread.run(Thread.java:745) [na:1.8.0_91]

  • 2
    Have you implemented any custom PageBuilder? If not, then most probably the problem is occurring because DD4T returns a null from dd4tPageFactory which is actually strange, and, following the code analyze, shows a probable problem with caching. Did you modify default cache settings? Stop at breakpoint at ModelBuilderPipeline:71 and check what's null: pageBuilder or genericPage. – Alexey Jul 14 '16 at 11:15
  • Hi, I've not modified any cache settings. I'm not able to stop the pocess at a breakpoint. I'm not familiar with such things. – M Roweth Jul 14 '16 at 13:43
  • For the caching, are you referring to the cache channel service? In the session microservice (which I assume the webapp is using) the storage conf file has " <ObjectCache Enabled="false">" and so the cache service is not in use. Or are you referrring to some other form of caching? – M Roweth Jul 14 '16 at 13:46
  • Oh, and "no" to a custom pagebuilder. – M Roweth Jul 14 '16 at 13:55
1

There were so many issues getting DXA working but most related to my microservices set-up, not to the DXA webapp. I think this one was cured by moving to Tomcat 8.5 at Alexey Zarakovskiy's suggestion. I'd been on Tomcat 7. The pre-requisites could need updating.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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