Alfresco Share webscripts都给出了#34;无法找到模板的模板处理器......"错误

时间:2014-08-06 15:32:12

标签: alfresco alfresco-share

我尝试了“Hello World”webscript教程,这给了我一个500错误(下面的详细信息)无法找到合适的模板处理器。认为这只是随机出现,我尝试了其他的webscripts。 enable-site.get.js(来自Martin Bergljung的博客)曾经工作过,现在却没有。 create-site.post.js给出了一个错误,因为无法将模型中的字段分配给视图;所有都与观点问题完全一致。事实上,所有获取共享层脚本也提供“无法找到模板的模板处理器......”

我不知道我改变了什么;但是我不明白为什么某些带有露天的网页脚本(例如create-site.post)不能开箱即用。我的猜测是我在设置我的露天服务器时做了一些不正确的事情;但是我不知道会是什么。如果有人有类似的症状,那么听到解决方案会很棒。

错误如下:

The Web Script /alfresco/service/helloworld has responded with a status of 500 - Internal Error.

500 Description:    An error inside the HTTP server which prevented it from fulfilling the request.

Message:    07050003 Cannot locate template processor for template helloworld.get.html

Exception:  org.springframework.extensions.webscripts.WebScriptException - 07050003 Cannot locate template processor for template helloworld.get.html
    org.springframework.extensions.webscripts.AbstractWebScript.renderTemplate(AbstractWebScript.java:904)
    org.springframework.extensions.webscripts.DeclarativeWebScript.renderFormatTemplate(DeclarativeWebScript.java:267)
    org.springframework.extensions.webscripts.DeclarativeWebScript.execute(DeclarativeWebScript.java:147)
    org.alfresco.repo.web.scripts.RepositoryContainer.transactionedExecute(RepositoryContainer.java:377)
    org.alfresco.repo.web.scripts.RepositoryContainer.transactionedExecuteAs(RepositoryContainer.java:529)
    org.alfresco.repo.web.scripts.RepositoryContainer.executeScript(RepositoryContainer.java:268)
    org.springframework.extensions.webscripts.AbstractRuntime.executeScript(AbstractRuntime.java:378)
    org.springframework.extensions.webscripts.AbstractRuntime.executeScript(AbstractRuntime.java:209)
    org.springframework.extensions.webscripts.servlet.WebScriptServlet.service(WebScriptServlet.java:132)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
    org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
    org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
    org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
    org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
    org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
    org.alfresco.web.app.servlet.GlobalLocalizationFilter.doFilter(GlobalLocalizationFilter.java:61)
    org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
    org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
    org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
    org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
    org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501)
    org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)
    org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
    org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)
    org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
    org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
    org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1040)
    org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607)
    org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:313)
    java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    java.lang.Thread.run(Thread.java:724)

Server: Community v4.2.0 (r63893-b12) schema 6,033
Time:   05-Aug-2014 17:17:04

1 个答案:

答案 0 :(得分:2)

问题在于我如何运行webscript。我通过在webscripts索引页面上单击它来运行它,可以从repo层访问它。为什么这很重要?因为共享和repo层使用不同的身份验证方法。共享需要添加已解码的最新CSRF令牌和Cookie以及4个Cookie,Alfresco-CSRFTokenJSESSIONIDalfLoginalfUsername3。如果这些并非全部存在,您可能会遇到过多的错误,这些错误并不总是您所期望的。例如,当使用create-site时,我在Alfresco的开箱即用安装中遇到了上述错误(如果您不知道,那么内置的webscript也会出现!)作为名称的duplicate shortName(网站UID)错误,我通过列出所有当前网站并且不在那里来证明这是唯一的。

所以我遇到的错误可能是因为我的浏览器没有相应的身份验证cookie,或者没有正确传递它们。使用Chromium的开发人员工具或Firebug可以轻松检查这一点。当验证对于共享是正确的时,一切都按预期工作。我现在有一个python包装器,它为我做了一切(我真的应该放在github上!)