Location may not be null or empty

I’m getting another of those really unhelpful error messages :wink:

I’m trying to publish a Content List and it merely gives me “Error”, telling me “Content is not allowed in prolog.”, so I preview it from within the Edition. That just gives me “location may not be null or empty”, despite that the JSR-170 returns lots of rows quite normally in the Query Debugger.

At first, I thought I’d just done something stupid like not enabled the template for the site to which I was publishing. As it happens, I hadn’t, but correcting that didn’t fix the problem. The other Content Lists in the Edition are working fine, however.

I’m at a loss here; anyone got any ideas what on Earth I’ve done wrong? There is a stack trace in the console log, but it’s not really any more helpful:

2008-03-04 14:26:52,453 ERROR [ContentListServlet] Content list failure
java.lang.IllegalArgumentException: location may not be null or empty
at com.percussion.services.publisher.data.PSContentListItem.setLocation(Unknown Source)
at com.percussion.pso.paginator.servlet.PSContentListItemExtended.clone(PSContentListItemExtended.java:107)
at com.percussion.pso.paginator.servlet.PSAbstractPageExpander.expand(PSAbstractPageExpander.java:89)
at com.percussion.pso.paginator.servlet.ContentListServlet.handleRequestInternal(ContentListServlet.java:193)
at org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:153)
at org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:45)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:806)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:736)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:396)
at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:350)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:697)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at com.percussion.webdav.PSWebDavRequestFilter.doFilter(Unknown Source)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at com.percussion.servlets.PSSecurityFilter.doFilter(Unknown Source)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:81)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
at org.jboss.web.tomcat.security.CustomPrincipalValve.invoke(CustomPrincipalValve.java:39)
at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:159)
at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:59)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:856)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:744)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
at org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112)
at java.lang.Thread.run(Unknown Source)

Is it possible that you have no location scheme for the particular template you are publishing? Try defining a “Default Location Scheme” for the context. If you get the default scheme when you don’t expect it, that should give you a hint as to what is wrong.

Dave

Both Contexts we use have a Location Scheme defined for the Content Type in question. Is there somewhere else I should be looking for Location Schemes, or is that where you meant?