Endeca Preview :: javax.servlet.ServletException: javax.jcr.PathNotFoundException: previewUrl (500)

1.3k Views Asked by At

While accessing the Preview Settings of an app in Endeca Workbench, the following error is thrown: (This issue is happening when the Preview settings' textbox is stored with empty string accidentally). Any workaround to fix this issue? [Environment: Endeca 3.1.2, ATG 10.2, Linux] enter image description here

javax.servlet.ServletException: javax.jcr.PathNotFoundException: previewUrl (500)
The requested URL /ifcr/sites/MyEndecaApp/configuration/tools/preview.html resulted in an error in /apps/endeca/preview/html.jsp.
Exception:
org.apache.sling.api.SlingException: javax.servlet.ServletException: javax.jcr.PathNotFoundException: previewUrl
        at org.apache.sling.scripting.jsp.jasper.servlet.JspServletWrapper.handleJspExceptionInternal(JspServletWrapper.java:560)
        at org.apache.sling.scripting.jsp.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:496)
        at org.apache.sling.scripting.jsp.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:442)
        at org.apache.sling.scripting.jsp.JspServletWrapperAdapter.service(JspServletWrapperAdapter.java:59)
        at org.apache.sling.scripting.jsp.JspScriptEngineFactory.callJsp(JspScriptEngineFactory.java:173)
        at org.apache.sling.scripting.jsp.JspScriptEngineFactory.access$100(JspScriptEngineFactory.java:84)
        at org.apache.sling.scripting.jsp.JspScriptEngineFactory$JspScriptEngine.eval(JspScriptEngineFactory.java:388)
        at org.apache.sling.scripting.core.impl.DefaultSlingScript.call(DefaultSlingScript.java:358)
        at org.apache.sling.scripting.core.impl.DefaultSlingScript.eval(DefaultSlingScript.java:170)
        at org.apache.sling.scripting.core.impl.DefaultSlingScript.service(DefaultSlingScript.java:456)
        at org.apache.sling.engine.impl.request.RequestData.service(RequestData.java:529)
        at org.apache.sling.engine.impl.filter.SlingComponentFilterChain.render(SlingComponentFilterChain.java:45)
        at org.apache.sling.engine.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:64)
        at com.endeca.ifcr.servlets.post.ConflictDetectionFilter.doFilter(ConflictDetectionFilter.java:217)
        at org.apache.sling.engine.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:60)
        at org.apache.sling.engine.impl.SlingRequestProcessorImpl.processComponent(SlingRequestProcessorImpl.java:269)
        at org.apache.sling.engine.impl.filter.RequestSlingFilterChain.render(RequestSlingFilterChain.java:49)
        at org.apache.sling.engine.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:64)
        at com.endeca.workbench.filters.RootFilter.doFilter(RootFilter.java:84)
        at org.apache.sling.engine.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:60)
        at com.endeca.workbench.filters.NoCacheFilter.doFilter(NoCacheFilter.java:56)
        at org.apache.sling.engine.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:60)
        at com.endeca.workbench.filters.LastVisitedFilter.doFilter(LastVisitedFilter.java:50)
        at org.apache.sling.engine.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:60)
        at com.endeca.workbench.filters.AccessFilter.doFilter(AccessFilter.java:54)
        at org.apache.sling.engine.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:60)
        at com.endeca.ifcr.filters.NoSuchPrincipalFilter.doFilter(NoSuchPrincipalFilter.java:84)
        at org.apache.sling.engine.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:60)
        at com.endeca.ifcr.servlets.get.WorkbenchRedirectFilter.doFilter(WorkbenchRedirectFilter.java:102)
        at org.apache.sling.engine.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:60)
        at com.endeca.ifcr.servlets.get.CacheControlFilter.doFilter(CacheControlFilter.java:91)
        at org.apache.sling.engine.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:60)
        at org.apache.sling.engine.impl.debug.RequestProgressTrackerLogFilter.doFilter(RequestProgressTrackerLogFilter.java:59)
        at org.apache.sling.engine.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:60)
        at org.apache.sling.i18n.impl.I18NFilter.doFilter(I18NFilter.java:101)
        at org.apache.sling.engine.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:60)
        at org.apache.sling.engine.impl.SlingRequestProcessorImpl.processRequest(SlingRequestProcessorImpl.java:161)
        at org.apache.sling.engine.impl.SlingMainServlet.service(SlingMainServlet.java:183)
        at org.apache.felix.http.base.internal.handler.ServletHandler.doHandle(ServletHandler.java:96)
        at org.apache.felix.http.base.internal.handler.ServletHandler.handle(ServletHandler.java:79)
        at org.apache.felix.http.base.internal.dispatch.ServletPipeline.handle(ServletPipeline.java:42)
        at org.apache.felix.http.base.internal.dispatch.InvocationFilterChain.doFilter(InvocationFilterChain.java:49)
        at org.apache.felix.http.base.internal.dispatch.HttpFilterChain.doFilter(HttpFilterChain.java:33)
        at com.endeca.workbench.ready.WorkbenchReadyFilter.doFilter(WorkbenchReadyFilter.java:174)
        at org.apache.felix.http.base.internal.handler.FilterHandler.doHandle(FilterHandler.java:88)
        at org.apache.felix.http.base.internal.handler.FilterHandler.handle(FilterHandler.java:76)
        at org.apache.felix.http.base.internal.dispatch.InvocationFilterChain.doFilter(InvocationFilterChain.java:47)
        at org.apache.felix.http.base.internal.dispatch.HttpFilterChain.doFilter(HttpFilterChain.java:33)
        at org.apache.felix.http.base.internal.dispatch.FilterPipeline.dispatch(FilterPipeline.java:48)
        at org.apache.felix.http.base.internal.dispatch.Dispatcher.dispatch(Dispatcher.java:39)
        at org.apache.felix.http.base.internal.DispatcherServlet.service(DispatcherServlet.java:67)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
        at org.apache.felix.http.proxy.ProxyServlet.service(ProxyServlet.java:60)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
        at org.apache.sling.launchpad.base.webapp.SlingServletDelegate.service(SlingServletDelegate.java:277)
        at org.apache.sling.launchpad.webapp.SlingServlet.service(SlingServlet.java:148)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
        at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:554)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
        at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
        at java.lang.Thread.run(Thread.java:619)
Caused by: javax.jcr.PathNotFoundException: previewUrl
        at org.apache.jackrabbit.core.NodeImpl.getProperty(NodeImpl.java:2523)
        at org.apache.jsp.apps.endeca.preview.html_jsp._jspService(html_jsp.java:151)
        at org.apache.sling.scripting.jsp.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
        at org.apache.sling.scripting.jsp.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:419)
        ... 66 more
Request Progress:
      0 (2013-04-17 06:03:23) TIMER_START{Request Processing}
      0 (2013-04-17 06:03:23) COMMENT timer_end format is {<elapsed msec>,<timer name>} <optional message>
      0 (2013-04-17 06:03:23) LOG Method=GET, PathInfo=/sites/MyEndecaApp/configuration/tools/preview.html
      0 (2013-04-17 06:03:23) TIMER_START{ResourceResolution}
      0 (2013-04-17 06:03:23) TIMER_END{0,ResourceResolution} URI=/ifcr/sites/MyEndecaApp/configuration/tools/preview.html resolves to Resource=JcrNodeResource, type=endeca/preview, superType=null, path=/sites/MyEndecaApp/configuration/tools/preview
      0 (2013-04-17 06:03:23) LOG Resource Path Info: SlingRequestPathInfo: path='/sites/MyEndecaApp/configuration/tools/preview', selectorString='null', extension='html', suffix='null'
      0 (2013-04-17 06:03:23) TIMER_START{ServletResolution}
      0 (2013-04-17 06:03:23) TIMER_START{resolveServlet(JcrNodeResource, type=endeca/preview, superType=null, path=/sites/MyEndecaApp/configuration/tools/preview)}
      0 (2013-04-17 06:03:23) TIMER_END{0,resolveServlet(JcrNodeResource, type=endeca/preview, superType=null, path=/sites/MyEndecaApp/configuration/tools/preview)} Using servlet /apps/endeca/preview/html.jsp
      0 (2013-04-17 06:03:23) TIMER_END{0,ServletResolution} URI=/ifcr/sites/MyEndecaApp/configuration/tools/preview.html handled by Servlet=/apps/endeca/preview/html.jsp
      0 (2013-04-17 06:03:23) LOG Applying Requestfilters
      1 (2013-04-17 06:03:23) LOG Calling filter: org.apache.sling.i18n.impl.I18NFilter
      1 (2013-04-17 06:03:23) LOG Calling filter: org.apache.sling.engine.impl.debug.RequestProgressTrackerLogFilter
      1 (2013-04-17 06:03:23) LOG Calling filter: com.endeca.ifcr.servlets.get.CacheControlFilter
      1 (2013-04-17 06:03:23) LOG Calling filter: com.endeca.ifcr.servlets.get.WorkbenchRedirectFilter
      1 (2013-04-17 06:03:23) LOG Calling filter: com.endeca.ifcr.filters.NoSuchPrincipalFilter
      1 (2013-04-17 06:03:23) LOG Calling filter: com.endeca.workbench.filters.AccessFilter
      5 (2013-04-17 06:03:23) LOG Calling filter: com.endeca.workbench.filters.LastVisitedFilter
     11 (2013-04-17 06:03:23) LOG Calling filter: com.endeca.workbench.filters.NoCacheFilter
     11 (2013-04-17 06:03:23) LOG Calling filter: com.endeca.workbench.filters.RootFilter
     11 (2013-04-17 06:03:23) LOG Applying Componentfilters
     11 (2013-04-17 06:03:23) LOG Calling filter: com.endeca.ifcr.servlets.post.ConflictDetectionFilter
     11 (2013-04-17 06:03:23) TIMER_START{/apps/endeca/preview/html.jsp#0}
     12 (2013-04-17 06:03:23) LOG SCRIPT ERROR: javax.servlet.ServletException: javax.jcr.PathNotFoundException: previewUrl
     12 (2013-04-17 06:03:23) TIMER_END{1,/apps/endeca/preview/html.jsp#0}
     13 (2013-04-17 06:03:23) TIMER_START{handleError:throwable=org.apache.sling.api.SlingException}
     16 (2013-04-17 06:03:23) TIMER_END{3,handleError:throwable=org.apache.sling.api.SlingException} Using handler org.apache.sling.servlets.resolver.internal.defaults.DefaultErrorHandlerServlet
     18 (2013-04-17 06:03:23) TIMER_END{18,Request Processing} Dumping SlingRequestProgressTracker Entries
________________________________________
ApacheSling/2.2 (Java HotSpot(TM) 64-Bit Server VM 1.6.0_17; Linux 2.6.18-238.el5 amd64)
1

There are 1 best solutions below

1
On BEST ANSWER

This might not work, but you can try running /control/export_site.sh, which will generate an XML file. In there you can find the settings for preview and edit it. Then run import_site.sh.

Note that there might be downsides with this (some elements of landing pages aren't exported, such as revision history, who edited, etc).