Template Rendering Failure
FreeMarker template error:
The following has evaluated to null or missing:
==> childSKU["x_shippingWeightLbs"] [in template "static/index.ftl" at line 206, column 427]
----
Tip: It's the final [] step that caused this error, not those before it.
----
Tip: If the failing expression is known to legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)??
----
----
FTL stack trace ("~" means nesting-related):
- Failed at: #assign jsonLdProductData = jsonLdPro... [in template "static/index.ftl" at line 206, column 49]
----
Java stack trace (for programmers):
----
freemarker.core.InvalidReferenceException: [... Exception message was already printed; see it above ...]
at freemarker.core.InvalidReferenceException.getInstance(InvalidReferenceException.java:134)
at freemarker.core.UnexpectedTypeException.newDescriptionBuilder(UnexpectedTypeException.java:85)
at freemarker.core.UnexpectedTypeException.(UnexpectedTypeException.java:48)
at freemarker.core.BuiltInsForMultipleTypes$stringBI._eval(BuiltInsForMultipleTypes.java:780)
at freemarker.core.Expression.eval(Expression.java:101)
at freemarker.core.DynamicKeyName._eval(DynamicKeyName.java:61)
at freemarker.core.Expression.eval(Expression.java:101)
at freemarker.core.AddConcatExpression._eval(AddConcatExpression.java:57)
at freemarker.core.Expression.eval(Expression.java:101)
at freemarker.core.AddConcatExpression._eval(AddConcatExpression.java:57)
at freemarker.core.Expression.eval(Expression.java:101)
at freemarker.core.AddConcatExpression._eval(AddConcatExpression.java:57)
at freemarker.core.Expression.eval(Expression.java:101)
at freemarker.core.Expression.evalAndCoerceToPlainText(Expression.java:117)
at freemarker.core.ListLiteral.getValueList(ListLiteral.java:75)
at freemarker.core.MethodCall._eval(MethodCall.java:61)
at freemarker.core.Expression.eval(Expression.java:101)
at freemarker.core.Assignment.accept(Assignment.java:134)
at freemarker.core.Environment.visit(Environment.java:383)
at freemarker.core.IteratorBlock$IterationContext.executedNestedContentForCollOrSeqListing(IteratorBlock.java:321)
at freemarker.core.IteratorBlock$IterationContext.executeNestedContent(IteratorBlock.java:271)
at freemarker.core.IteratorBlock$IterationContext.accept(IteratorBlock.java:244)
at freemarker.core.Environment.visitIteratorBlock(Environment.java:657)
at freemarker.core.IteratorBlock.acceptWithResult(IteratorBlock.java:108)
at freemarker.core.IteratorBlock.accept(IteratorBlock.java:94)
at freemarker.core.Environment.visit(Environment.java:347)
at freemarker.core.Environment.visit(Environment.java:353)
at freemarker.core.Environment.visit(Environment.java:353)
at freemarker.core.Environment.visit(Environment.java:353)
at freemarker.core.Environment.visit(Environment.java:353)
at freemarker.core.Environment.visit(Environment.java:353)
at freemarker.core.Environment.process(Environment.java:326)
at freemarker.template.Template.process(Template.java:383)
at atg.cloud.ui.js.WebPageTemplateRenderer.getRenderOutput(WebPageTemplateRenderer.java:321)
at atg.cloud.ui.js.WebPageTemplateRenderer.renderUsingTemplate(WebPageTemplateRenderer.java:253)
at atg.cloud.ui.js.StaticContentManager.lookForOverride(StaticContentManager.java:339)
at atg.cloud.ui.js.StaticContentManager.overridingIndex(StaticContentManager.java:86)
at jsp_servlet.__index._jspService(__index.java:500)
at weblogic.servlet.jsp.JspBase.service(JspBase.java:35)
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:78)
at atg.filter.dspjsp.PageFilter.innerDoFilter(PageFilter.java:265)
at atg.filter.dspjsp.PageFilter.doFilter(PageFilter.java:195)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:78)
at weblogic.servlet.internal.RequestDispatcherImpl.invokeServlet(RequestDispatcherImpl.java:637)
at weblogic.servlet.internal.RequestDispatcherImpl.forward(RequestDispatcherImpl.java:287)
at atg.servlet.DeferredDispatcher.forward(DeferredDispatcher.java:258)
at atg.servlet.WrappingRequestDispatcher.forward(WrappingRequestDispatcher.java:95)
at atg.servlet.UrlRewriteInterceptor.forward(UrlRewriteInterceptor.java:485)
at atg.servlet.UrlRewriteInterceptor.processRewriteRules(UrlRewriteInterceptor.java:297)
at atg.servlet.UrlRewriteInterceptor.handleRewriteRequest(UrlRewriteInterceptor.java:210)
at atg.servlet.UrlRewriteInterceptor.interceptRequest(UrlRewriteInterceptor.java:149)
at atg.servlet.pipeline.TailPipelineServlet.service(TailPipelineServlet.java:211)
at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:171)
at atg.servlet.pipeline.DispatcherPipelineServletImpl.service(DispatcherPipelineServletImpl.java:275)
at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:171)
at atg.endeca.assembler.AssemblerPipelineServlet.service(AssemblerPipelineServlet.java:472)
at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:171)
at atg.servlet.http.CookieBufferServlet.service(CookieBufferServlet.java:119)
at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:171)
at atg.userprofiling.ExpiredPasswordServlet.service(ExpiredPasswordServlet.java:383)
at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:171)
at atg.servlet.pipeline.MimeTyperPipelineServlet.service(MimeTyperPipelineServlet.java:228)
at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:171)
at atg.droplet.DropletEventServlet.service(DropletEventServlet.java:696)
at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:171)
at atg.commerce.order.CommerceCommandServlet.service(CommerceCommandServlet.java:150)
at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:171)
at atg.commerce.promotion.PromotionServlet.service(PromotionServlet.java:213)
at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:171)
at atg.cloud.seo.SnapshotProviderPipelineServlet.service(SnapshotProviderPipelineServlet.java:427)
at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:171)
at atg.cloud.seo.redirect.CanonicalRedirectionServlet.service(CanonicalRedirectionServlet.java:243)
at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:171)
at atg.cloud.seo.PrettyURLPipelineServlet.service(PrettyURLPipelineServlet.java:464)
at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:171)
at atg.cloud.servlet.pipeline.PatternAwareContentServlet.service(PatternAwareContentServlet.java:127)
at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:171)
at atg.cloud.servlet.pipeline.ObieeSSOServlet.isSSORequest(ObieeSSOServlet.java:545)
at atg.cloud.servlet.pipeline.ObieeSSOServlet.service(ObieeSSOServlet.java:296)
at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:171)
at atg.cloud.file.AssetFilePipelineServlet.service(AssetFilePipelineServlet.java:523)
at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:171)
at atg.userprofiling.AccessControlServlet.service(AccessControlServlet.java:728)
at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:171)
at atg.servlet.sessionsaver.SessionSaverServlet.service(SessionSaverServlet.java:2452)
at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:171)
at atg.userprofiling.PageEventTriggerPipelineServlet.service(PageEventTriggerPipelineServlet.java:191)
at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:171)
at atg.userprofiling.SessionEventTrigger.service(SessionEventTrigger.java:512)
at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:171)
at atg.userprofiling.ProfilePropertyServlet.service(ProfilePropertyServlet.java:232)
at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:171)
at atg.servlet.pipeline.ThreadNamingPipelineServlet.service(ThreadNamingPipelineServlet.java:155)
at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:171)
at atg.userprofiling.ProfileRequestServlet.service(ProfileRequestServlet.java:468)
at atg.cloud.userprofiling.CloudProfileRequestServlet.service(CloudProfileRequestServlet.java:337)
at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:171)
at atg.servlet.ThrottleDeactivatorServlet.service(ThrottleDeactivatorServlet.java:88)
at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:171)
at atg.servlet.HitCountServlet.service(HitCountServlet.java:97)
at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:171)
at atg.servlet.pipeline.DynamoPipelineServlet.service(DynamoPipelineServlet.java:515)
at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:171)
at atg.servlet.pipeline.PathAuthenticationPipelineServlet.service(PathAuthenticationPipelineServlet.java:363)
at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:171)
at atg.servlet.security.ThreadUserBinderServlet.service(ThreadUserBinderServlet.java:113)
at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:171)
at atg.dtm.TransactionPipelineServlet.service(TransactionPipelineServlet.java:234)
at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:171)
at atg.cloud.servlet.pipeline.RequestBlockingServlet.service(RequestBlockingServlet.java:166)
at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:171)
at atg.servlet.pipeline.IpWhitelistPathAuthenticationPipelineServlet.service(IpWhitelistPathAuthenticationPipelineServlet.java:763)
at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:171)
at atg.servlet.forwardheader.ForwardHeadersServlet.service(ForwardHeadersServlet.java:368)
at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:171)
at atg.servlet.pipeline.SecurityServlet.service(SecurityServlet.java:312)
at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:171)
at atg.servlet.pipeline.RequestStateServlet.service(RequestStateServlet.java:145)
at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:171)
at atg.cloud.rest.security.CorsHandler.service(CorsHandler.java:254)
at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:171)
at atg.cloud.url.UrlRedirectionServlet.service(UrlRedirectionServlet.java:344)
at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:171)
at atg.cloud.seo.redirect.SeoRedirectionServlet.service(SeoRedirectionServlet.java:204)
at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:171)
at atg.multisite.CloudSiteContextRootStripPipelineServlet.service(CloudSiteContextRootStripPipelineServlet.java:162)
at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:171)
at atg.multisite.SiteContextPipelineServlet.service(SiteContextPipelineServlet.java:525)
at atg.multisite.CloudSiteContextPipelineServlet.service(CloudSiteContextPipelineServlet.java:57)
at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:171)
at atg.servlet.pipeline.HeadPipelineServlet.passRequest(HeadPipelineServlet.java:1340)
at atg.servlet.pipeline.HeadPipelineServlet.service(HeadPipelineServlet.java:1008)
at atg.cloud.servlet.pipeline.CloudHeadPipelineServlet.service(CloudHeadPipelineServlet.java:278)
at atg.servlet.pipeline.PipelineableServletImpl.service(PipelineableServletImpl.java:296)
at atg.filter.dspjsp.PageFilter.innerDoFilter(PageFilter.java:343)
at atg.filter.dspjsp.PageFilter.doFilter(PageFilter.java:195)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:78)
at oracle.security.jps.ee.http.JpsAbsFilter$3.run(JpsAbsFilter.java:175)
at java.security.AccessController.doPrivileged(Native Method)
at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:314)
at oracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode(JpsPlatformUtil.java:650)
at oracle.security.jps.ee.http.JpsAbsFilter.runJaasMode(JpsAbsFilter.java:112)
at oracle.security.jps.ee.http.JpsAbsFilter.doFilterInternal(JpsAbsFilter.java:293)
at oracle.security.jps.ee.http.JpsAbsFilter.doFilter(JpsAbsFilter.java:150)
at oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:94)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:78)
at oracle.dms.servlet.DMSServletFilter.doFilter(DMSServletFilter.java:248)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:78)
at oracle.jrf.servlet.ExtensibleGlobalFilter.doFilter(ExtensibleGlobalFilter.java:92)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:78)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3800)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3766)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:344)
at weblogic.security.service.SecurityManager.runAsForUserCode(SecurityManager.java:197)
at weblogic.servlet.provider.WlsSecurityProvider.runAsForUserCode(WlsSecurityProvider.java:203)
at weblogic.servlet.provider.WlsSubjectHandle.run(WlsSubjectHandle.java:71)
at weblogic.servlet.internal.WebAppServletContext.doSecuredExecute(WebAppServletContext.java:2454)
at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2302)
at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2280)
at weblogic.servlet.internal.ServletRequestImpl.runInternal(ServletRequestImpl.java:1739)
at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1699)
at weblogic.servlet.provider.ContainerSupportProviderImpl$WlsRequestExecutor.run(ContainerSupportProviderImpl.java:272)
at weblogic.invocation.ComponentInvocationContextManager._runAs(ComponentInvocationContextManager.java:352)
at weblogic.invocation.ComponentInvocationContextManager.runAs(ComponentInvocationContextManager.java:337)
at weblogic.work.LivePartitionUtility.doRunWorkUnderContext(LivePartitionUtility.java:57)
at weblogic.work.PartitionUtility.runWorkUnderContext(PartitionUtility.java:41)
at weblogic.work.SelfTuningWorkManagerImpl.runWorkUnderContext(SelfTuningWorkManagerImpl.java:655)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:420)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:360)